1
我遇到了SSIS查找組件的問題。我的源表有一個字符串值(XXX),我需要知道它是否存在於另一個表上。如果我提出類似如下的查詢:爲什麼SSIS查找返回空值?
select AAA from dest_table where AAA = XXX
我得到一個匹配的結果。這個值在兩個表中都存在。 但是,當我使用Lookup組件時,它找不到任何匹配項並返回NULL(並且這導致我的包的所有後續步驟中發生崩潰)。我的查詢查詢是:
select AAA, BBB from dest_table group by AAA, BBB
我需要以下ETL過程的BBB值。另外,我添加了一個多播組件,這樣我就可以將我從查找中得到的所有結果引導到一個測試表,同時讓包流繼續其過程。而這個測試表裏面只有空值(意思是查找沒有找到匹配)
這背後的原因是什麼?
在此先感謝!
您的查找組件是否使用'SELECT * FROM table'作爲查詢? 「值」列的數據類型是什麼?源列「XXX」的數據類型是什麼? – billinkc 2014-09-24 14:45:18
不,不是。它使用特定的字段作爲查詢,我只需要查看兩個表中是否有特定的值。該值在源和目標中都是varchar(50),並且包含諸如ID之類的代碼。我只需要看看這個值是否存在於目標表中,所以不要插入重複項。 – Neko069 2014-09-24 14:52:00
你會用查詢中使用的實際查詢更新你的問題嗎?根據需要消毒名稱。我試圖辨別出您是如何設計Lookup,無聲數據轉換問題或其他問題的問題。 – billinkc 2014-09-24 14:54:03