簡體   English   中英

批量插入操作系統錯誤代碼 32

[英]BULK INSERT Operating System Error Code 32

我在存儲過程中使用 BULK INSERT 並收到此錯誤:

Cannot bulk load because the file "D:vanAS_TEST_vanRunGroupervan_DB.csv" could not be opened. Operating system error code 32(error not found).

請注意,該路徑沒有斜線,盡管在我使用 BULK INSERT 時有斜線。 另外,我得到了一個代碼 32,雖然沒有找到錯誤描述。 當我在幾個論壇(沒有確定性)中查找時,錯誤代碼似乎與以下內容有關:

The process cannot access the file because it is being used by another process.

任何人都可以證實這一點嗎?

另外,為什么當批量插入命令傳遞帶斜杠的文件路徑時文件路徑缺少斜杠?

感謝大家的幫助

更新

這就是我調用存儲過程的方式:

exec data_Import ''D:\van\AS_TEST_van\Run\Grouper\van_DB.csv'', APCE_1011_Grouper_Out_FCE

這是我在存儲過程中運行批量插入的方式:

exec('BULK INSERT dbo.' + @Table + ' FROM ''' + @PathFileName + ''' WITH (FIELDTERMINATOR ='','', FIRSTROW = 2, ROWTERMINATOR =''\n'')')

請注意,我已經編輯了文件路徑。

我得到這個錯誤代碼的原因是不幸的一瞬間另一個程序訪問了這個文件並鎖定了它!

我希望這會在將來對其他人有所幫助。

嘗試使用雙反斜杠“\\”轉義“\\”。 以這種方式讀取 \\ 將被忽略,因為它不會產生帶有以下字符的控制字符。 反斜杠是 SQL 中的特殊字符。

請確保您嘗試導入的文件位於服務器上。 或者修改路徑以從網絡共享中讀取它們,即。 \\\\PC1\\\\imports\\....

請確保您的目標文件夾未在屬性中選中“只讀”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM