2009-02-23 163 views
2

我需要將數據表單.csv文件導入數據庫表(MS SQL Server 2005)。 SQL BULK INSERT似乎是一個不錯的選擇,但問題是我的數據庫服務器與我的WEB服務器不在同一個框中。 This question描述了同樣的問題,但我沒有任何控制我的數據庫服務器,並且無法共享任何文件夾。替代SQL BULK INSERT

我需要一種方法來導入我的.csv編程(C#),任何想法?

編輯:這是一個網站,在那裏用戶可以使用的.csv內容填充表的一部分,並且會發生這種情況每週,如果不是更多的時候

回答

1

我結束了使用CSV Reader。我在@Jon Skeet的答案中看到了它的一個參考,找不到它再將其鏈接到它

5

您有幾種選擇:

  1. SSIS
  2. DTS
  3. 自定義應用程序

任何這些方法都應該完成工作。如果只是從事臨時工作,最好是用最喜歡的語言編寫一次性應用程序,以便獲取數據。如果需要更長壽命的解決方案,您可能需要查看SSIS或DTS,因爲它們是爲了這種情況。

2

嘗試使用C#編寫的開源ETL引擎Rhino-ETL,它甚至可以使用BOO實現簡單的ETL腳本,因此您無需一直編譯它。

的代碼可以在這裏找到: https://github.com/hibernating-rhinos/rhino-etl

它是誰寫的傢伙: http://www.ayende.com/blog

組名單有一些關於它的討論中,我實際上是噓聲腳本添加批量插入前一陣子。 http://groups.google.com/group/rhino-tools-dev http://groups.google.com/group/rhino-tools-dev/browse_thread/thread/2ecc765c1872df19/d640cd259ed493f1

如果你下載的代碼有幾個樣品,同時檢查谷歌組列表,如果你需要更多的幫助。

0

你的數據集有多大?除非它們是非常大的,否則您可以使用參數化插入語句。您可能首先要加載到臨時表,以便安心或性能原因。

+0

數據集上升到10k條記錄 – 2009-02-23 22:24:57