2016-04-21 59 views
0

在我的SSIS包中,我從數據庫中選擇一行放入對象變量。然後,我將該變量作爲只讀文件放入腳本任務中。有沒有辦法從對象中獲取單個列值並將它們放入腳本任務中的變量主函數可以替換文本?我用我的腳本VB。謝謝!SSIS腳本任務在對象變量內部抓取列

回答

0

將對象變量轉換爲DataTable。然後將公開DataTable的所有屬性,並且您將能夠訪問列及其值。

+0

您是否有示例代碼? – user2178477

+0

沒什麼好用的,沒有。它應該很容易在Google上提出。 –

0

是的,有一種方法,即使你可以擺脫完整的表格。 聲明對象類型變量說objResult。

使用執行SQL任務(ESQLT)從數據庫中獲取數據。將結果類型屬性設置爲ESQLT的「完整結果集」。您也可以使用'單個結果集',現在只需跳過它。

然後轉到ESQLT的結果選項卡,並將replacenewresultname替換爲0並使用對象類型變量objResult。

現在連接ESQLT任務以foreach循環任務。

在foreach循環任務中,轉到集合選項卡並從下拉列表中將foreach循環枚舉器設置爲ado枚舉器。

下面你會發現一個下拉列表,選擇objResult。

轉到下一個選項卡,並根據所選查詢的列名稱順序設置/創建變量。 從0開始到n。

然後在foreach循環容器中拖動一個腳本任務。

設置您的只讀和只寫變量,並做你想做的。所有列值將逐行進入腳本任務。

注意:您可能需要照顧變量數據類型並根據您的數據庫處理dbnull值。