sqlserver bulk insert報錯Cannot bulk load because the file could not be opened.

lusklusklusk 發表於 2020-09-22

參考文件
https://techcommunity.microsoft.com/t5/sql-server-support/sql-bulk-copy-error-8220-operating-system-error-code-5-access-is/ba-p/316231


使用SSMS開啟資料庫伺服器db1,執行如下
BULK INSERT Fileinfo
FROM '\\netapp2\Dev\files.csv'
WITH
(
    FIELDTERMINATOR = '|'  
);
報錯:Cannot bulk load because the file "\\netapp2\Dev\files.csv" could not be opened. Operating system error code 5(Access is denied.).


問題分析
1、登入資料庫伺服器db1,在作業系統介面上可以直接開啟\\netapp2\Dev\files.csv
2、在SSMS上執行bulk insert語句的使用者是user1,而user1有訪問\\netapp2\Dev\files.csv檔案的許可權


解決方法
登入netapp2伺服器,在cmd視窗執行hostname發現伺服器名稱是fsprod2,使用\\fsprod2\Dev\files.csv替代\\netapp2\Dev\files.csv,問題解決


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2723100/,如需轉載,請註明出處,否則將追究法律責任。