2011-10-29 145 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