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

Откуда:
Сообщений: 902
Добрый день! Парсю файл csv , через OPENROWSET и файл формата fmt , конец файла определяю через "\n" . Когда нет лишних строк - проблем нет. Качается в базу, когда есть через "Enter" - ещё строки после строк с данными, то выдается ошибка:

Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".

Руками конечно можно поудалять лишние пустые строки, но это гемор!
Как можно решить проблему (не брать пустые строки), чтобы импорт не падал!
14 июн 17, 10:59    [20562782]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
\n
это конец строки и возврат каретки,емнип.

конец файла какой-то другой.
14 июн 17, 11:17    [20562901]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
medoed,

1 Нормализовывать файл до bulk
2 делать bulk одной строкой, парсить в таблице
14 июн 17, 11:22    [20562931]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/cc0d3f79-3b1e-4613-881e-ba54289a5f02/bulk-insert-row-terminator-issues?forum=transactsql

Не твой случай?
14 июн 17, 11:23    [20562934]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
medoed
Member

Откуда:
Сообщений: 902
Cammomile
\n
это конец строки и возврат каретки,емнип.

конец файла какой-то другой.

В 90 % случаев, когда пустых строк нет, но когда есть пустые строки - есть проблемы. Хочется решить как то универсально!
14 июн 17, 11:33    [20562999]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
medoed
Member

Откуда:
Сообщений: 902
WarAnt
medoed,

1 Нормализовывать файл до bulk
2 делать bulk одной строкой, парсить в таблице

Да , можно через SINGLE_BLOB , но блин потом эту строку еще парсить нужно(((
14 июн 17, 11:35    [20563009]     Ответить | Цитировать Сообщить модератору
 Re: Обработать файл CSV с лишними строками  [new]
medoed
Member

Откуда:
Сообщений: 902
medoed,

Вроде нашел решение:


 
CREATE  TABLE #tTable   (Client		nvarchar(250) , Descr		nvarchar(250)               )

BULK INSERT #tTable FROM 'd:\Com\Test\F\TROLOLO.csv'
						WITH 
							(
								FIELDTERMINATOR = ';',
								ROWTERMINATOR = '\n',
								FIRSTROW=2
								, CODEPAGE = 1251
							)
						
SELECT * FROM #tTable DROP TABLE #tTable
14 июн 17, 11:58    [20563126]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить