2013-03-18 48 views
1

我正在創建SSIS中的維護作業,其中一個步驟要求我從變量中讀取數據,檢查數值,如果該值在特定範圍內,請寫入該行到下一步中的新對象進行處理。我編寫了大部分腳本,但我無法將腳本任務中的值寫入對象。從腳本任務寫入對象變量

這是我現在有:

ssis_example

要快速通過這個運行時,它將從服務器上的所有數據庫的名稱然後運行一個數據庫完整性檢查。接下來,它將列出所有數據庫及其最後一次已知的完整性檢查。最終的ForEach循環是我遇到問題的地方。我希望它從先前的SQL任務中讀取對象,讀取變量,並且如果最後一次已知的日期接近當前時間,請將其饋送到新對象中,以便在即將到來的步驟中使用該數據庫以備份該數據庫。

+0

這可能會有所幫助:http://stackoverflow.com/questions/7880520/object-variable-in-script-tasks – Zaki 2013-03-18 14:53:36

+0

因爲「執行SQL任務」中的所有內容都將根據當前時間進行測量,爲什麼不只是執行查詢中的邏輯並僅返回您關心的數據庫。這極大地簡化了您嘗試執行的邏輯和可維護性。 – billinkc 2013-03-18 21:56:08

回答

0

我會創建一個新的數據流,並使用當前的「執行SQL任務」代碼爲新的OLE DB源。然後,我會用當前的「腳本任務」邏輯將它連接到腳本轉換(在數據流中)。數據流將用一個Recordset Destination來完成,它將加載對象變量。