我試圖創建一個對象變量,它將保存來自的一個集合執行SQL任務。此集合將用於多個腳本任務整個ETL包。SSIS - 轉換爲DataTable的對象變量變空
的問題是,第一腳本任務的第一Fill
後,對象變量變空。下面是我如何使用變量到DataTable代碼:
try
{
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
da.Fill(dt, Dts.Variables["reportMetrics"].Value);
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
Dts.TaskResult = (int)ScriptResults.Failure;
}
整個ETL包,腳本任務部件都會有這樣的一段代碼。由於該變量在第一個Fill
後變空,因此我無法重用該對象變量。
我猜Fill方法與此有關。
謝謝!
看看我的回答了這個問題,它顯示瞭如何重複使用ADODB流http://stackoverflow.com/questions/25253319/ssis-script-task-reading-recordset對象變量-object-in-a-loop-is-failing/25256478#25256478 – 2014-12-03 05:56:04