Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Столкнулся на днях с одним нехорошим текстовым файлом при импорте которого в визарде импорта при задании положений столбцов (я использую тип - Fixed fields), начинаются разные глюки в разбивке текста на строки.

1. На первом этапе (при выборе Delimited или Fixed Field) в окне предосмотра файл показывается в нормальн. виде с правильной разбивкой по строкам.
2. Выбираем Fixed Field и переходим на след. этап и тут начинаются различные поползновения (в начале файла идет шапка) - в зависимости от того сколько строк мы указываем пропустить он начинает кромсать эти строки. То воообще строка у него из одного символа состоит, то вроде вся строка умещается, но из-за пару коротких строк в середине, все остальные строки начинают идти со смещением.
Причем если запускать такой же визард импорта из Access, то там все ок, строки никуда не ползают.

Пробовал в этом визарде менять - Row delimeter - положительного эффекта нет.

Никто не сталкивался с такими проблема и как их можно обойти?
14 май 05, 13:07    [1539957]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
https://www.sql.ru/forum/actualthread.aspx?tid=175993
14 май 05, 14:30    [1540274]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Мдам, как все запущено...

Тогда хотелось бы уточнить следующий момент (для полноты восприятия мира), по моим наблюдениям реальная картина все-таки отличается,
Glory: "Понимаете, Skip rows не означает что указанное количество строк просто пропускается. Если вы задали Fixed field и указали разбиение строки то ВСЕ строеи начиная от начала файла разбиваются по указанным правилам и только после этого пропускается заданное количество строк" -
Я бы сказал так, Skip rows пропускает строчки как они есть (ну в соотв. с Row delimeter конечно). А вот потом, первая получивщиеся строка уже берется как эталон ширины и если далее есть короткие строчки, то они тогда дополняються символами из нижеследующих строк ну и соотв. все начинает сразу сползать.

В подтв. этой теории могу еще привести пример как через Skip rows я подгадывал так, что первая строка попадала на пустую (у меня в шапке в файле есть пустые строчки) и тогда визард начинал считать что все строчки в этом файле имеют ширину в один символ.

Т.е. шапка с разной длиной строки все-таки не является проблемой, а вот если есть неформатные строки в самой таблице (как у меня разделение на страницы), то тогда начинаются проблемы

Интересно только почему в Access сделали по другому, он строчки глотает как есть в соотв. с Row delimeter, а уже потом парсит ее, и если чего не хватает, забивает null'ами
14 май 05, 15:09    [1540448]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
Я бы сказал так, Skip rows пропускает строчки как они есть (ну в соотв. с Row delimeter конечно). А вот потом, первая получивщиеся строка уже берется как эталон ширины и если далее есть короткие строчки, то они тогда дополняються символами из нижеследующих строк ну и соотв. все начинает сразу сползать.
А вы указали собственно разбиение строки на столбцы ? Или только Row delimeter выбрали ?
14 май 05, 15:14    [1540477]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Да, на том же этапе я выбирал - Fixed Fields.

Выбирать какое-нибудь другое разделение я не могу, у меня привязка именно по кол-во символов, например с 1 по 6 символ - 1 столбец, потом пробелы, потом с 9 по ...... и т.д.
14 май 05, 15:33    [1540569]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
Да, на том же этапе я выбирал - Fixed Fields
Я не про тип. Сделали ли вы при этом разбивку строки на столбцы ?
В противном случае сичтается что все строка до Row delimiter будет _одним_ столбцом. Об этом я писал в ссылке
14 май 05, 15:36    [1540583]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Я не могу перейти к этим действиям, потому что когда я попадаю на эту страничку, то в предосмотре файла, где нужно рисовать столбцы, я вижу ....перепутанный текст (ну тут я уже как говорил все зависит от Skip Row)

соотв. размечать столбцы по этому перепутанному тексту нет никакого смысла, результат конечно получается такой же перепутанный.

Чтобы не болтать, ща попробую сюда выложить примерный txt'шник, на пробу, где все эти траблы будут видны
14 май 05, 16:12    [1540750]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Вот например небольшой кусок файла с заголовком.

Попробуйте указать разные значения в Skip Row, самое инетересное конечно будет = 11, потому что 12 строка это первая строка после шапки и хорошо видно как строка "Итого по бббббб ббб ббб.бббб. 22222..." вносит паразитное смещение и все последующие строки с данными не совпадают с первой строкой таблицы

К сообщению приложен файл (read.txt - 1007bytes) cкачать
14 май 05, 16:40    [1540864]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Видимо придется читать и редактировать этот файл через VBS для начала импорта...
16 май 05, 10:06    [1542557]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с импоротом txt-файла  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
Ну вообщем сделал в итоге как советовал Glory, выбрал разделитель несуществующий символ, соотв. импорт как один столбец (длину которого можно указать самому), а потом уже в Transformations сам парсил (через тот же Mid) этот столбец,... несколько муторно конечно все это писать, но работает пока...
16 май 05, 16:48    [1544816]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить