我有以下查询要插入表
BULK
INSERT tblMain
FROM 'c:\Type.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
收到消息
Msg 4860,Level 16,State 1,Line 1
无法批量加载。文件" c:\ Type.txt"不存在。
文件显然在那里。我可能会忽视什么?
答案 0 :(得分:25)
看那个: Cannot bulk load. The file "c:\data.txt" does not exist
该文件是否在SQL Server的C:\
驱动器上?
SQL BULK INSERT等始终只适用于SQL Server计算机上的本地驱动器。您的SQL Server无法访问您自己的本地驱动器。
您需要将文件放到SQL Server的C:\驱动器上,然后重试。
答案 1 :(得分:12)
此处描述了批量导入实用程序语法
http://msdn.microsoft.com/en-us/library/ms188365.aspx
> BULK INSERT [ database_name . [ schema_name ] . | schema_name . ]
> [ table_name | view_name ]
> FROM 'data_file'
> [ WITH
> (
关于data_file参数的说明
'data_file'
包含要导入的数据的数据文件的完整路径 指定的表或视图。 BULK INSERT可以从磁盘导入数据 (包括网络,软盘,硬盘等)。
data_file必须指定来自SQL服务器的有效路径 服务器正在运行。 如果data_file是远程文件,请指定 通用命名约定(UNC)名称。 UNC名称具有表单 \ SYSTEMNAME \共享\路径\文件名。例如, \ SystemX \ DiskZ \ SALES \ UPDATE.TXT。
答案 2 :(得分:0)
我以前遇到过这个问题。除了检查文件路径之外,您还要确保引用正确的文件名和文件类型。确保这确实是一个文本文件,你已经保存在源位置而不是word文件等。我被.doc和.docx绊倒了。这是我的一个新错误,但嘿,它可能发生。更改了文件类型,它修复了问题。