Linux
讀取位於 LINUX 伺服器上的 CSV 文件並更新 SQL Server 數據庫中的表
我想知道我們如何將位於 Red Hat LINUX 伺服器上的 CSV 文件提取到 SQL Server 數據庫表中。
我知道我們可以編寫一個儲存過程/批量插入來讀取與 SQL Server 位於同一 Windows Server 上的文件並更新數據庫,但不確定當文件存在於 LINUX 中時如何執行此操作。
任何幫助將不勝感激
我認為這種事情至少有兩個通用選項:
- 在 Linux 伺服器上具有 SQL Server 主機可以連接到的網路共享。
- 將文件從 Linux 伺服器同步到 DB 主機(例如通過使用 DB 主機上的網路共享,或通過網路複製文件的任何其他方式)。
備註: Windows 處理映射的網路驅動器的方式,如果它被其他使用者帳戶映射,執行 DB 程序的登錄會話可能看不到驅動器。因此,第一個選項是首選(也許也來自 dbas 的 pov?)。
您可以使用 SSIS 來執行此操作。
- 下載PSCP(一個 SCP 客戶端,即命令行安全文件副本)
- 確保首先在 Linux 伺服器上將文件轉換為 windows 格式,然後使用 PSCP 下載到 Windows -
^M
從文件中刪除它們,因為它們是在 Linux 伺服器上生成的。- 現在您甚至可以使用您的 SP 或僅使用 SSIS 將它們批量插入 SQL Server。