2012-02-14 120 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