簡體   English   中英

SQL 服務器批量插入 - Linux/RHEL 錯誤

[英]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.

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