Sql-Server

如何允許遠端 MSSQL 使用者批量插入我的本地 txt 文件?

  • May 25, 2022

我的本地 PC 上有一個 txt 文件。我執行連接到遠端 MSSQL 的本地 Java 應用程序。現在我需要將該文本文件中的批量插入到我的數據庫表中。

但是,SQL 登錄無法讀取我的文件。我得到:

原因:com.microsoft.sqlserver.jdbc.SQLServerException:無法批量載入,因為無法打開文件“D:/My_Files/my_file.txt”。作業系統錯誤程式碼 21(設備未準備好。)

我為“所有人”設置了 My_Files 文件夾的權限。我無法創建與 SQL 登錄名相同的 Windows 使用者,因為它對於 Windows 使用者來說太長了。有解決辦法嗎?

正如 mustaccio 指出的那樣,本地路徑將無法從 SQL Server 訪問,這是您收到的關於“ D:/My_Files/my_file.txt的錯誤。它正在 D: 驅動器上查找文件安裝 SQL 實例的伺服器(不是本地電腦的 D: 驅動器)。

不過,您也許可以為該文件夾創建一個網路共享,並通過 SQL Server 實例中的 UNC 路徑引用它。在ServerFault問題的範圍內,如何做到這一點更是如此。

或者,您可以在 Java 程序中添加程式碼以讀取本地文件,然後BULK INSERT從應用程序向數據庫執行命令。

引用自:https://dba.stackexchange.com/questions/312537