Linux

讀取位於 LINUX 伺服器上的 CSV 文件並更新 SQL Server 數據庫中的表

  • August 26, 2015

我想知道我們如何將位於 Red Hat LINUX 伺服器上的 CSV 文件提取到 SQL Server 數據庫表中。

我知道我們可以編寫一個儲存過程/批量插入來讀取與 SQL Server 位於同一 Windows Server 上的文件並更新數據庫,但不確定當文件存在於 LINUX 中時如何執行此操作。

任何幫助將不勝感激

我認為這種事情至少有兩個通用選項:

  • 在 Linux 伺服器上具有 SQL Server 主機可以連接到的網路共享。
  • 將文件從 Linux 伺服器同步到 DB 主機(例如通過使用 DB 主機上的網路共享,或通過網路複製文件的任何其他方式)。

備註: Windows 處理映射的網路驅動器的方式,如果它被其他使用者帳戶映射,執行 DB 程序的登錄會話可能看不到驅動器。因此,第一個選項是首選(也許也來自 dbas 的 pov?)。

您可以使用 SSIS 來執行此操作。

  1. 下載PSCP(一個 SCP 客戶端,即命令行安全文件副本)
  2. 確保首先在 Linux 伺服器上將文件轉換為 windows 格式,然後使用 PSCP 下載到 Windows -^M從文件中刪除它們,因為它們是在 Linux 伺服器上生成的。
  3. 現在您甚至可以使用您的 SP 或僅使用 SSIS 將它們批量插入 SQL Server。

請參閱:使用 SSIS 將文件從 Linux 傳輸到 Windows 或反之亦然

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