2011-03-25 25 views
0

通用數據導入模塊:
我正在將數據從6種數據源類型(CSV,Active Directory,SQL,Access,Oracle,Sharepoint)中的任意一種讀取到數據表中。操作數據表中的值?

然後,用戶可能會通過強制轉換和每列計算並將其寫入SQL表(用戶選擇的任何表)來更改此數據。

這樣做似乎只是用戶還必須能夠從目標SQL數據庫(查找)

領域與價值觀,以取代在數據表中的某些字段易我真的想所有上述的做數據表在發送到目標數據塊之前,但不能重複使用Linq,因爲表結構(源和目標都是未知的,並且不代表特定的業務對象)

tl; dr我需要做數據任何數據表上的轉換,這是一個好方法(No Linq!)

編輯:源表和目標表在結構上不同。

+0

每個來源是否有相同的列?如果是的話,更新DataRows有什麼問題? – kd7 2011-03-25 12:55:08

+0

好方法 - 編寫特定的數據庫層邏輯+ ADO.NET。 – 2011-03-25 13:00:35

+0

@LexRama:這是我的文章的重點 - 我正試圖找到一個好辦法。您的評論就像是答案:[如何購買最好的筆記本電腦?答:買一臺筆記本電腦。] – callisto 2011-03-25 13:12:15

回答

0

我最終爲每個數據庫類型的一個接口的所有部分編寫了一個類,並使用基於DbConnection的GenericConnection作爲不同類型的源。

我分手的過程分成:

  1. 進口
  2. 變換
  3. 寫 階段,可以保存並重新打開以重新使用或編輯。

的變換部分包括:

  1. 鑄造
  2. 計算(字符串,整數,小數,日期,布爾)的加,減,除,乘,AND,OR,串,替換
  3. 查找對其他表
  4. 直接複製

的轉換ç排隊等候,使得一列數據可以在寫入目標之前經過任何量以匹配目標。