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

Откуда:
Сообщений: 91
У меня есть текстовый файл. В энтерпрайз менеджере делаю импорт этого файла.
Во время импорта вылетает следующая ошибка:

Error at Source for Row 721616.
Too many columns found in the current row;non-whitespace characters were found after the last defined columns


Импорт идет в таблицу из одной колонки...Строки в текстовом файле разделены через \n\r
Как может получиться так,что создается новая колонка в такой то строке(к сожалению файл большой и нет возможности посмотреть конкретную строку в нем..Программу писать тоже лень...)
Если кто сталкивался с проблемой ,подскажите плз выход из положения...Закинуть этот текстовый файл ой как надо)))))))))
Ну пользуясь случаем всех с Рождеством:))
6 янв 05, 19:23    [1229513]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
YuriAM
Member

Откуда:
Сообщений: 829
Тебе надо смотреть внимательно текстовый файл там есть значение, лишное в строке , которое и хочеть формировать новую колонку
7 янв 05, 09:39    [1229918]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
YuriAM
Тебе надо смотреть внимательно текстовый файл там есть значение, лишное в строке , которое и хочеть формировать новую колонку


К сожалению файл очень большой,его нереально без специальной программы просмотреть,хотя если никто не подскажет выход из положения или причину такой ошибки прийдется с помошью программы какой то смотреть строку:))

Хотелось бы разобраться вот в чем:
Я делаю импорт в таблицу с ОДНИМ полем...Как может формироваться второе поле?Какой симовл может формировать второе поле,если строки в текстовом файле заканчиваются слэш Н-слэш Р...???
7 янв 05, 14:40    [1230226]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
Glory
Member

Откуда:
Сообщений: 104760
evgeniy604

К сожалению файл очень большой,его нереально без специальной программы просмотреть,хотя если никто не подскажет выход из положения или причину такой ошибки прийдется с помошью программы какой то смотреть строку:))


Error at Source for Row 721616. ????
Too many columns found in the current row;non-whitespace characters were found after the last defined columns


evgeniy604

Хотелось бы разобраться вот в чем:
Я делаю импорт в таблицу с ОДНИМ полем...Как может формироваться второе поле?Какой симовл может формировать второе поле,если строки в текстовом файле заканчиваются слэш Н-слэш Р...???

Насколько я помню в TextFile(Source) для Row delimiter можно задать строго ограниченные вараинты. И "слэш Н-слэш Р" вроде туда не входит.
7 янв 05, 14:49    [1230244]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
Glory
evgeniy604

К сожалению файл очень большой,его нереально без специальной программы просмотреть,хотя если никто не подскажет выход из положения или причину такой ошибки прийдется с помошью программы какой то смотреть строку:))


Error at Source for Row 721616. ????
Too many columns found in the current row;non-whitespace characters were found after the last defined columns


evgeniy604

Хотелось бы разобраться вот в чем:
Я делаю импорт в таблицу с ОДНИМ полем...Как может формироваться второе поле?Какой симовл может формировать второе поле,если строки в текстовом файле заканчиваются слэш Н-слэш Р...???

Насколько я помню в TextFile(Source) для Row delimiter можно задать строго ограниченные вараинты. И "слэш Н-слэш Р" вроде туда не входит.


Там можно указать semicolon и получится что не нужны разделители,необходимо только указать где начинается новая строка....а вот новая строка начинается после ентера...
Так вот интересно,как в таком случае может получиться новая колонка,если указан semicolon,который каждую строку сбрасывает в таблицу из одной колонки...
7 янв 05, 15:06    [1230271]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
На строке 721616 имеется semicolon. Используйте что-то другое в качестве разделителя полей. Лчше всё же импортировать через QA /BULK INSERT, а не через EM.
7 янв 05, 15:14    [1230286]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
www.fun4me.narod.ru
На строке 721616 имеется semicolon. Используйте что-то другое в качестве разделителя полей. Лчше всё же импортировать через QA /BULK INSERT, а не через EM.


Поясните плз что это за semicoln? Это какой то спецсимвол ,если да,то какой?
7 янв 05, 15:19    [1230295]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
;
7 янв 05, 15:21    [1230300]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
Glory
Member

Откуда:
Сообщений: 104760
evgeniy604
Там можно указать semicolon и получится что не нужны разделители,необходимо только указать где начинается новая строка....а вот новая строка начинается после ентера...
Так вот интересно,как в таком случае может получиться новая колонка,если указан semicolon,который каждую строку сбрасывает в таблицу из одной колонки...

Мы про Row Delimiter говорим или про Column Delimiter ?
Если про первое тогда объясните какое отношение имеет semicolon к вашему утверждению "Строки в текстовом файле разделены через \n\r"

Если ваши \n\r это не символы а коды, то в DTS нужно выбирать {CR}{LF} в качестве Row Delimiter.
7 янв 05, 15:30    [1230319]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
>> Если ваши \n\r это не символы а коды, то в DTS нужно выбирать {CR}{LF} в качестве Row Delimiter.

{CR}{LF} - это \r\n, а не \n\r.
7 янв 05, 15:33    [1230326]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
Glory
Member

Откуда:
Сообщений: 104760
www.fun4me.narod.ru
>> Если ваши \n\r это не символы а коды, то в DTS нужно выбирать {CR}{LF} в качестве Row Delimiter.

{CR}{LF} - это \r\n, а не \n\r.

Ага. А вот еще утверждается "а вот новая строка начинается после ентера..."
7 янв 05, 15:36    [1230328]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
www.fun4me.narod.ru
;


Большой сенкс!!!!!!!!
Запустил, щас подожду закинет ли файл мой..Попутно вопрос- можно ли в параметрах пропустить FILEDELIMITER? Вроде прочитал что он по умолчанию ставит табуляцию...
7 янв 05, 15:41    [1230333]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
Glory
www.fun4me.narod.ru
>> Если ваши \n\r это не символы а коды, то в DTS нужно выбирать {CR}{LF} в качестве Row Delimiter.

{CR}{LF} - это \r\n, а не \n\r.

Ага. А вот еще утверждается "а вот новая строка начинается после ентера..."

Пока написал свой ответ,тут ваши ответы были..сорри не заметил..Речь шла о RowDelimiter конечно.
Там я выбирал {CR}{LF} (- это \r\n, а не \n\r.[/quot]- я думал что вы поняли что я ошибся в порядке)
Как мне закинуть все данные в таблицу из одной колонки? Просто не указывать разделитель колонок?
7 янв 05, 15:45    [1230337]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
www.fun4me.narod.ru
На строке 721616 имеется semicolon. Используйте что-то другое в качестве разделителя полей. Лчше всё же импортировать через QA /BULK INSERT, а не через EM.


QA /BULK INSERT неожиданно глюканул и написал неожиданный конец файла:))..кошмар какой то...
Glory натолкнул на идею:)) щас закину все таки через энтерпрайз:)) если энтерпрайз не ругнется на неожиданный конец файла...
7 янв 05, 15:52    [1230342]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
www.fun4me.narod.ru
Member

Откуда: Moscow
Сообщений: 2406
>> Как мне закинуть все данные в таблицу из одной колонки? Просто не указывать разделитель колонок?

Надо в качестве разделителя колонок указать то, чего не может быть в файле, например это ";SUPERSEMICOLON_ILNVB;"
7 янв 05, 15:55    [1230346]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
www.fun4me.narod.ru
>> Как мне закинуть все данные в таблицу из одной колонки? Просто не указывать разделитель колонок?

Надо в качестве разделителя колонок указать то, чего не может быть в файле, например это ";SUPERSEMICOLON_ILNVB;"

^)))))))))))))))))))))))))
Логично:)) я так и зделал ,написал кучу @@@@@@@@@@@
Их там нет..вот только бы энтерпрайз не ругнлся на неожиданный КОНЕЦ файла:)) блин..сколько лет программирую,неожиданный конец файла встречаю впервые:))
7 янв 05, 15:58    [1230350]     Ответить | Цитировать Сообщить модератору
 Re: ERROR : non-whitespace characters......при импорте  [new]
evgeniy604
Member

Откуда:
Сообщений: 91
УРРРРРРРРРРРРАААААААААА!!!
Все получилось через энтерпрайз!!!!!!!
Всем большое спасибо за помощь и за идеи.
С меня куча пива:))Всех еще раз с праздником,проблема решена.
Собстно что было..
Файл текстовый с разделителем
Ivanov1|Ivan|Ivanovich
Ivanov2|Ivan|Ivanovich
Ivanov3|Ivan|Ivanovich

Когда он импортировался существовала где то запись типа
Ivanov3|Ivan|Ivanovich|Negodyay
то есть где в середине строка неверного формата,поэтому энтерпрайз ругался на эту строку ,появлялась новая колонка....Вот чтобы голову не ломать себе я закинул это в одну колонку,щас проиндексирую ее и по Лайк вытащу все записи ,у которых неверное число разделителей.
Если бы не SQLserver,пришлось бы писать прогу,которая ищет эту строку..вобщем дело простое,но день потратить надо было бы на написание этой проги,да потом еще ручками редактировать..а так через сервер я быстренько все заделаю и пойду с работы праздновать праздник:))
Еще раз большое спасибо:))
7 янв 05, 16:05    [1230363]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить