(“IID_IColumnsInfo”) error with SQL Server BULK INSERT of CSV file

折月煮酒 提交于 2019-12-11 16:55:36

问题


I'm new to SQL Server, so forgive me for being a bit of a noob here.

The code shown here returns the following error:

Cannot obtain the required interface ("IID_IColumnsInfo") from OLE DB provider "BULK" for linked server "(null)".

Code:

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

I've tried using:

ROWTERMINATOR = '0x0a'

and

ROWTERMINATOR = '\r\n'

This is the CSV file: https://gyazo.com/0392b660c97e3cac27f2337993190c69

This is my SQL table: https://gyazo.com/fbbaf6204df9bb574d8887864cc95ea0

And this is the complete SQL query: https://gyazo.com/ffe020437f07524ce44420bedeebf0d4

I've scouted StackOverflow and can't find any solution which works. Any ideas would be appreciated.

Thanks


回答1:


Change FORMAT = 'CSV' to DATAFILETYPE = 'char'

or just remove the FORMAT = 'CSV' line as your file may not be RFC 4180 compliant.

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

this has worked for me with this error.




回答2:


There's another potential culprit. I've been running BULK INSERTs into my SQL Server 2017 Express, and my syntax used FORMAT = 'CSV' and a ROWTERMINATOR of '\n' -- and it had been working fine for months.

I added a new column to the other system where I was routinely exporting data as a CSV, and when I went to do another BULK INSERT, it was failing because I had an extra column in my CSV that didn't line up with the columns in my SQL table. DOH! I just needed to add that same new column in my SQL db and all was well again. A stupid error on my part, but maybe it will help someone else.



来源:https://stackoverflow.com/questions/52952771/iid-icolumnsinfo-error-with-sql-server-bulk-insert-of-csv-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!