Я пытаюсь создать объектную переменную, которая будет содержать коллекцию из Выполнение SQL-задачи. Этот сборник будет использоваться во множестве Задача сценария по всему пакету ETL.SSIS - переменная объекта, преобразованная в DataTable, пуста
Проблема заключается в том, после первого Fill
первого Script Task, переменная объект становится пустым. Вот код того, как я использовал переменную к 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, Script Task компоненты будут иметь этот кусок кода. Поскольку переменная становится пустой после первого Fill
, я не могу повторно использовать объектную переменную.
Я предполагаю, что метод Fill имеет какое-то отношение к этому.
Спасибо!
Заканчивать мой ответ на этот вопрос, он показывает, как повторно использовать переменный объект с ADODB Streams http://stackoverflow.com/questions/25253319/ssis-script-task-reading-recordset -bject-in-loop-is-failing/25256478 # 25256478 –