(«IID_IColumnsInfo») ошибка с БОЛЬШОЙ ВСТАВКОЙ SQL Server файла CSV - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в SQL Server, поэтому прости меня за то, что я немного нуб.

Код, показанный здесь, возвращает следующую ошибку:

Невозможно получитьтребуемый интерфейс ("IID_IColumnsInfo") от поставщика OLE DB "BULK" для связанного сервера "(null)".

Код:

BULK INSERT testingtable
FROM 'D:\TimeLords\data\db-test-file.csv'
WITH
    (FORMAT = 'CSV', 
     FIELDQUOTE = '"',
     FIRSTROW = 2,
     FIELDTERMINATOR = ',', 
     ROWTERMINATOR = '\n',  
     TABLOCK)

Я пытался использовать:

ROWTERMINATOR = '0x0a'

и

ROWTERMINATOR = '\r\n'

Это CSV-файл: https://gyazo.com/0392b660c97e3cac27f2337993190c69

Это моя таблица SQL: https://gyazo.com/fbbaf6204df9bb574d8887864cc95ea0

И этополный запрос SQL: https://gyazo.com/ffe020437f07524ce44420bedeebf0d4

Я изучил StackOverflow и не могу найти решение, которое работает.Любые идеи будут оценены.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 августа 2019

Есть еще один потенциальный преступник.Я запускал BULK INSERT в мой SQL Server 2017 Express, и мой синтаксис использовал FORMAT = 'CSV' и ROWTERMINATOR '\ n' - и он работал нормально в течение нескольких месяцев.

Я добавилновый столбец в другую систему, где я обычно экспортировал данные в виде CSV, и когда я отправился делать еще одну BULK INSERT, это не удавалось, потому что у меня в CSV был дополнительный столбец, который не совпадает со столбцами в моемТаблица SQL.DOH!Мне просто нужно было добавить тот же новый столбец в мою базу данных SQL, и все снова было хорошо.Глупая ошибка с моей стороны, но, возможно, это поможет кому-то еще.

0 голосов
/ 10 мая 2019

Измените FORMAT = 'CSV' на DATAFILETYPE = 'char'

или просто удалите строку FORMAT = 'CSV', так как ваш файл может не соответствовать RFC 4180.

BULK INSERT testingtable
FROM 'D:\TimeLords\data\db-test-file.csv'
WITH
    (FIELDQUOTE = '"',
     FIRSTROW = 2,
     FIELDTERMINATOR = ',', 
     ROWTERMINATOR = '\n',  
     TABLOCK)

это сработало для меня с этой ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...