2011-10-29 111 views
5

我想从这个链接的数据插入到我的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等,但没有任何工作。

任何人都可以请帮我插入这些数据到我的数据库?

回答

27

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

+0

太棒了!那就是诀窍。你能解释这个'0x0a'的东西吗?谢谢。 –

+0

'0x0a'是ASCII字符“新行”的十六进制值 - 我不确定那是什么工作,\ n(也是“新行”)没有通过... – Nathan

-2

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

+1

你应该提供你的答案的例子。谢谢。 – Hazonko

+0

BULK INSERT在SQL Operations Studio中工作得很好 – Loke