2014-04-18 72 views
0

SSIS新手需要一些幫助。不知道這是否可能。SSIS SQL任務與查詢值進行比較

我有一個txt文件,我正在使用SSIS導入到SQL中。 之前我導入的文件,我做一排Powershell的數量和更新值到數據庫1,表1,總記錄 所以DB1有:

DB1 
FileID RecordCount 
1  1500 

我可以使用查詢從表計數:

USE Database1 
SELECT RecordCount FROM Table1 WHERE (FileID = 1) 
//This returns 1500 

接下來,在SSIS中,我使用將數據插入另一個數據庫(DB2)的數據流任務導入txt文件。然後將數據擦洗等

從DB1的領域寫到FileID匹配FileIDRef上DB2

所以DB2具有:

DB2 
Ref Name Address Zip FileIDRef 
1 Jim  11 Lane 33221 1 
2 Bill 22 St 77665 1 
> ...... .. ..... 
1500 Jane 44 Rte 23232 1 
//etc 

然後我就可以運行SQL查詢通過FileIDRef數行:

USE Database2 
SELECT COUNT(FileIDRef) AS Expr1 FROM Table1 WHERE (FileIDRef = 1) 

現在問題來了。 在SSIS中的最後一步,我需要比較寫到FileID對FileIDREF 因爲有時數據被損壞,而不是所有的行導入

如果2個查詢的值不相等,則轉移到Sendmail的塊發出警告。 如果它們匹配,然後成功退出

我可以用一條SQL語句來做到這一點嗎? 或者我必須在SSIS中設置一些東西?

任何幫助非常感謝!

回答

0

這樣做的一種方法是將兩個計數都存儲在變量中。然後,將計數值分配給每個Execute SQL Task中的每個變量。最後,您可以使用約束來檢查變量值是否相同,並根據比較結果將流量引導至相應的分支。

+1

我會試試。作爲一名SSIS新手,試圖弄清楚如何將計數捕捉到變量中並不直觀。我會谷歌如何做到這一點。謝謝! – GreetRufus