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

时间:2013-12-29 21:29:20

标签: asp.net sql-server visual-studio-2010 load-data-infile

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

startIP: Int
endIP: Int
LocationID: Int

文件的内容如下:

   "16777216","16777471","17"
   "16777472","16778239","49"
   "16778240","16778495","14409"

我尝试执行此查询:

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); 

我得到了以下错误

  

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

  

错误源:“。net sqlClient Data Provider”错误消息“LOCAL附近的语法不正确”

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

你有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:7)

SQLServer中没有LOAD DATA LOCAL INFILE;它出现在MySQL中。您应该使用bcp (Bulk Copy)实用程序来执行相同操作。

请参阅此处了解如何使用相同的

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

(OR)

像这样使用批量插入

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