Ssis

為 SSIS 查找轉換插入新的查找值

  • July 23, 2014

這可能很明顯,但我一直在敲我的頭……如果有一篇文章,請指出我的方向。

我正在將一系列 Excel 文件導入 SQL 數據庫。

他們將有一個帶有值的文本項列表:

Name   |   Value
----------------
Name1  |   100
Name2  |   140
Name3  |   200

目標數據庫有一個“名稱”映射的查找表。

我想要做的是為一行找到一個相應的 NameID,並將其放入一列(這是簡單的部分),但是,如果 Name 表中沒有相應的條目,它應該插入該行並獲取新 ID .

有沒有公認的方法來做到這一點?我正在尋找低容量,所以我不需要它特別高性能,只需簡單易懂即可。

選項1

我已經有一段時間沒有這樣做了,但基本上這就是我所做的。

  1. 查找後,進行條件拆分。
  2. 在自己的路徑上拆分 NULL 值。
  3. 使用 OLE DB 命令插入行。在這裡要小心,因為您不想一遍又一遍地插入同一行。
  4. 重新查找您的值(或者如果可以的話,從 OLE DB 命令中取回它)。
  5. 使用 Merge 將兩個數據流重新合併在一起。

選項 2

用 2 個數據流來做。在第一個中,找到所有不匹配的數據並進行插入。在第二個中,進行查找。

對於您的目的,後一種選擇可能更簡單。

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