2013-10-02 72 views
4

我正在尋找一個簡單的解決方案(初學者爲SQL),以允許從我的.csv文件中將數據導入到我的SQL數據庫中。將CSV更新導入SQL Server

我有一個第三方程序,每30秒更新一次.csv文件,我想把這個更新信息放到我的SQL數據庫中。我嘗試導入&導出嚮導,但由於其他第三方程序正在使用.csv文件,導致無法正常工作。

將信息獲取到SQL DB中並不需要實時,它可以在打開保存的sql查詢文件時檢索所有信息。

謝謝!

+0

你難道沒有參與發送數據,並從數據庫中的任何其他語言? –

+0

目前沒有進入數據庫。但那就是我想要發生的事情。 .csv文件正在填充,我想將該信息傳輸到數據庫 –

回答

0

OPENROWSET是最簡單的一個,如果你在你的env中使用CSV文件。我已經看到很多與操作系統有關的問題,以及使用32位或64位安裝MS Office的版本。

但更多的工作,你將會創建一個小的SSIS包來將CSV導入到表中。以期望的時間間隔使用SQL JOB執行該SSIS。以後如果你需要更復雜的插入/更新,你總是可以修改包。

0

這是producer consumer problem的情況,其中一個進程正在寫入數據,另一個正在讀取數據。

不管你做什麼,你都需要在這個文件上設置某種鎖,這個進程可以檢查文件是否可用於讀/寫。如果導入/導出嚮導遇到併發問題,那麼其他進程也可能會發生。

另一種選擇是始終創建新文件以寫入並讓讀取器進程始終從最新的文件中讀取並在處理後將其刪除。

你需要照顧的另一件事是多次讀取同一文件。您需要某種方式來標記已被讀取的記錄,以便不會插入兩次。

如果需要完全自動化和無人蔘與的過程,則需要上述所有內容。

如果不是,您可以手動創建CSV文件的副本,然後使用導入/導出嚮導導入數據。

這裏是你可以檢查出CSV導入到SQL Server的另一資源

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/