2015-04-22 197 views
1

我有一個軟件包,在任何ETL發生之前,它會檢查源表以確保它們存在。如果它們不存在,它會通過發送郵件任務向我發送電子郵件,然後通過執行sql任務等待30分鐘,然後再次通過for循環容器再次嘗試。SSIS 2008任務依賴關係配置

我想配置這個軟件包,所以如果它循環,然後最終成功,我收到一封電子郵件告訴我成功。但是,我不想在每次成功時收到一封電子郵件,只要循環發生並完成即可。

因此,如果源數據不存在,請不要繼續下一個容器,而是給我發一封電子郵件,等待30分鐘,然後重試。如果最終出現源表,則繼續下一個容器,並向我發送電子郵件。

回答

1

如果我正確理解你的步驟,你有一個Execute SQL Task它檢查模式,如果模式不存在發送一封電子郵件,然後等待30分鐘,並再次循環檢查模式。您可以添加boolean可變說SendSucessEmail可以像這樣的東西

DECLARE @SendSucessEmail BIT = 0 

WHILE NOT EXISTS(
SELECT TOP 1 1 
FROM sys.tables where name = 'checktable' 
) 
BEGIN 
SET @SendSucessEmail = 1 
WAITFOR DELAY '00:30:00' 

END 

SELECT @SendSucessEmail AS SucessEmailVariable 

在你的包進行設置,你可以得到這個值,並用它來發送電子郵件。