2017-02-20 67 views
1
BULK INSERT dbo.bulkins 
FROM "C:\BulkDataFile.csv" 
WITH 
    (FIELDTERMINATOR =',', 
    ROWTERMINATOR = '\n') 

错误:如何批量插入到SQL Server从Excel

Msg 4860, Level 16, State 1, Line 2
Cannot bulk load. The file "C:\BulkDataFile.csv" does not exist.

如何解决呢?

+5

嗯 - 哪一部分**不存在** 难道你不明白?看起来该文件不存在 - *如何解决它?* - 将文件放在你期望的位置.....如果这是一个* remote * SQL Server,则该文件必须位于* *远程机器**'C:\'驱动器 - 不是您的本地PC的'C:\'驱动器...... –

+0

此外,excel文件应明确保存为.csv文件。 – DhruvJoshi

+0

@Marc_s **请**添加,作为答案,所以这不会显示在回答。 – SqlZim

回答

3

该错误消息似乎一清二楚:“文件......不存在” ...

如此看来,这个文件你想用来做你BULK INSERT只是不存在。

如何解决?简单:只需将文件放在您期望的位置,然后再次运行您的代码。

如果这是一个远程SQL Server,文件必须是远程机器的C:\驱动器上 - 而不是你的本地PC的C:\驱动...

+0

有没有办法从本地文件批量加载数据呢?我成功地逐行加载,但速度太慢。将文件复制到服务器将不被允许。 – thursdaysgeek

+0

@thursdaysgeek:** no ** - 您的远程SQL Server **不能**访问您的本地驱动器 - 这是一件好事!*您需要将文件直接放到服务器的文件系统或存储器上驱动SQL Server有权访问的位置。 –

+0

好的。但是,我怎样才能使用SSIS从本地机器加载相同的文件? (我宁愿使用SSIS,但我维护的代码是在Excel VBA中)。这可能是一个单独的问题。 – thursdaysgeek