2012-02-14 97 views
-3

这是我的大批量SQL查询插入在SQL Server 2005中批量插入?

BULK 
INSERT userTable 
FROM 'c:\name\userTable.txt' 
WITH 
(
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
) 
GO 

它导致以下错误

sql Cannot bulk load because the file "C:\name\userTable.txt" could not be opened. Operating system error code 3(The system cannot find the path specified.)

+1

由于错误信息,请检查您的文件路径和文件名。 – 2012-02-14 07:16:50

+0

是你的本地机器上的SQL Server实例?如果没有:该远程服务器的C:\驱动器上的文件是什么?您无法从远程SQL Server计算机访问本地计算机的C:\驱动器并获取文件..... – 2012-02-14 07:26:25

+0

-1。因为错误信息是显而易见的(文件未找到),你不会做任何事情来解决它。 – TomTom 2012-02-14 07:29:22

回答

4

你的设置是什么?两种可能性:

  • 服务器对该文件夹没有权限。服务器会根据自己的凭据来找你,而不是你的。
  • 服务器在另一台机器上。

批量插入不是网络传输,它是服务器加载文件的命令,然后执行服务器进程在服务器进程上运行服务器进程的凭据。

那么,服务器能否与服务器用户一起读取服务器上的这个parth并找到文件?

显式回答:请仔细检查并投入超过10秒的时间来思考问题 - 错误消息是非常具体的。

0

你的文件名不同(代码:userTable.txt,错误:newUser.txt)。你确定吗?文件存在并且可读?

+0

对不起,文件名是usertable.txt .. – Prabhakaran 2012-02-14 07:47:36