使用SQL服务器ERROR在visual studio中加载数据INFILE:"不支持LOAD DATA SQL构造或语句"

mol*_*008 3 sql-server asp.net visual-studio-2010 load-data-infile

我有以下问题:我有一个.csv数据文件(大约30mb).我喜欢将该文件的内容加载到我的IPBlock表中更具体的数据库,如下所示:

startIP: Int
endIP: Int
LocationID: Int
Run Code Online (Sandbox Code Playgroud)

和文件的内容看起来像这样:

   "16777216","16777471","17"
   "16777472","16778239","49"
   "16778240","16778495","14409"
Run Code Online (Sandbox Code Playgroud)

我尝试执行此查询:

LOAD DATA LOCAL INFILE 'C:\Users\Molu\Desktop\GeoLiteCity_20131203\test.csv'
INTO TABLE IPBlock 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(startIP , endIP, LocationID); 
Run Code Online (Sandbox Code Playgroud)

我得到了以下错误

不支持LOAD DATA SQL构造或语句.

错误源:".net sqlClient Data Provider"错误消息"LOCAL附近的语法不正确"

我已经尝试使用双"\"之类的版本:C:\\Users\\Molu并且有和没有"LOCAL"关键字(这里唯一不同的是错误信息是:"INFILE附近的语法不正确")

你有什么想法 ?提前致谢.

Rah*_*hul 7

LOAD DATA LOCAL INFILESQLServer中没有; 它存在于MySQL.您应该使用bcp (Bulk Copy)实用程序来做同样的事情.

在这里看到如何使用相同的

https://msdn.microsoft.com/en-us/library/ms188365.aspx

(要么)

像这样使用批量插入

BULK
INSERT IPBlock
FROM 'C:\Users\Molu\Desktop\GeoLiteCity_20131203\test.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
Run Code Online (Sandbox Code Playgroud)