批量插入问题

时间:2011-10-29 07:30:34

标签: sql sql-server-2005 sql-server-2008 bulkinsert

我正在尝试将此链接中的数据插入到我的SQL服务器中 https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zip

我创建了表

CREATE TABLE [dbo].[tblCityCoordinatesList](
    [RegionID] [int] NOT NULL,
    [RegionName] [nvarchar](255) NULL,
    [Coordinates] [nvarchar](4000) NULL
) ON [PRIMARY]

我正在运行以下脚本来执行批量插入

BULK INSERT tblCityCoordinatesList
FROM 'C:\data\CityCoordinatesList.txt' 
WITH 
( 
    FIRSTROW = 2, 
    MAXERRORS = 0, 
    FIELDTERMINATOR = '|', 
    ROWTERMINATOR = '\n'
)

但是批量插入失败并出现以下错误

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

当我谷歌时,我发现有几篇文章说这个问题可能与RowTerminator有关,但我尝试过像/ n / r,/ n等所有内容,但没有任何效果。

有人可以帮我把这些数据插入我的数据库吗?

3 个答案:

答案 0 :(得分:32)

试试ROWTERMINATOR = '0x0a'。 它应该工作。

答案 1 :(得分:0)

如果表和导入的文件之间的列数不匹配,也会发生这种情况

答案 2 :(得分:-3)

你需要从Windows登录(而不是从SQL)运行BULK INSERT命令。现在我没有任何例子