2009-10-20 57 views
0

我已經成功運行ssis包,並將數據從第一個數據庫中的一個表插入到第二個數據庫中的另一個表中,但所有行都插入了這種情況。我已經放置了oledb源控件,一個字符映射控件和一個oledb目標control.no查詢寫在this.i只指定源表和2個數據庫中的目標表。但我只需要將一個表中的某些列值轉移到另一個表中,而不是整個表data.for可以做些什麼?如何使用ssis更新數據庫表?

回答

1

不太確定我正確理解你的問題,但最近我一直在做類似的事情,這是我需要做的。

  1. 運行的任務>導入數據的 架構所需的數據就
  2. 最終 在我的情況 它是SQL Server的選擇DB源,選擇 服務器名,也是架構
  3. 下一步選擇的目標數據庫和 模式,在我的情況下,它是SQL Server的 再次
  4. 我想下一個屏幕讓您 一個選項來選擇數據,或 寫你自己的查詢。你應該 編寫自己的select語句 挑出正是您所需要
  5. 下一個屏幕,你可以編輯映射列, 組數據長度等
  6. 下一頁保存你的包,如果你需要,然後運行。

在此之後我做的是將它從「Query1」創建的表重命名爲更有意義的內容。然後我再次通過嚮導,並在映射屏幕上選擇「刪除現有行」。這應該更新您的表時運行,而不是追加重複的行

希望這有助於!

0

根據您的問題,您應該使用SQL command作爲數據訪問模式,然後使用類似select column1, column2 from table1的查詢。然後在您的目的地表中,您可以只映射此2列:

Data access mode as SQL command