[英]SQL Server BULK INSERT - Linux/RHEL error
我正在針對駐留在 Linux / RHEL VM 中的 SQL Server 2019 進行批量插入查詢(通過存儲過程)。 執行后,我收到此錯誤:
消息 4860,級別 16,State 1,過程 dbo.Import_Store,第 25 行 [批處理開始第 14 行]
無法批量加載。 文件“/home/user1/FileStorage/Store1.csv”不存在或您沒有文件訪問權限。
此錯誤消息不正確 - 即文件物理上存在於指定路徑的 VM 上並具有正確的權限(每個人都獲得了完全權限。)。
任何見解都受到高度贊賞。 謝謝。
BULK INSERT dbo.Store
FROM '/home/user1/FileStorage/Store1.csv'
WITH
(
FORMAT = 'CSV', FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n'
);
僅供參考 - 我嘗試了許多選項,例如使用 C:\ 或 C:/ 而不是 /home,但到目前為止沒有任何效果。
感謝拉努您在上面的評論。 這讓我做了一些事情來解決我的問題。 這是我為同一條船上的任何人解決它的方法。
我基本上在 Linux VM 的根目錄下創建了一個全新的共享文件夾。 然后創建了一個新用戶組並授予它對共享文件夾的完全訪問權限。 然后我將用戶“mssql”添加到組中。 現在我的 SQL 服務器可以訪問該位置而不會出現任何錯誤!
sudo mkdir -p /SharedFolder
sudo groupadd SharedUsers
sudo chgrp -R SharedUsers /SharedFolder
sudo chmod -R 2775 /SharedFolder
sudo usermod -a -G SharedUsers mssql
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.