Можно ли изменить значение переменных объекта в задаче сценария с помощью ForEach, а затем сохранить его в переменной объекта?

Я использую VS 2008 SSIS.

  1. У меня есть задача потока данных, чтобы получить строки из таблицы и сохранить их в переменной объекта.
  2. Я использую цикл по каждому элементу, чтобы получить значение переменной объекта одно за другим.
  3. Внутри моего Foreach я использую Script Task, чтобы каждый раз изменять / расшифровывать значение моей переменной.

Моя проблема в том, что я не могу найти, как сохранить расшифрованные значения обратно в объектную переменную, потому что мне нужно, чтобы они сохранялись в плоский файл.

Я использовал другую переменную Object и попытался сохранить в ней расшифрованные значения. Но сохраняет только последнее расшифрованное значение, а не весь список.

Пожалуйста, поделитесь своими мыслями или советами. Любая помощь или предложения будут приняты с благодарностью!


person Ange    schedule 11.09.2018    source источник


Ответы (2)


Вы можете получить доступ к объектной переменной без цикла по каждому элементу SSIS. В приведенном ниже примере заполняется DataTable из объектной переменной, обновляется DataRow для столбца, названного в цикле C # foreach, и записывается обратно в объектную переменную. После этой задачи сценария вы можете делать все необходимое с обновленным содержимым объектной переменной, включая запись в место назначения плоского файла.

            DataTable dt = new DataTable();
            OleDbDataAdapter adapter = new OleDbDataAdapter();
            adapter.Fill(dt, Dts.Variables["User::YourObjectVariable"].Value);

            foreach (DataRow r in dt.Rows)
            {
                r["Column"] = " "; //Do work here

            }

            Dts.Variables["User::YourObjectVariable"].Value = dt;
person userfl89    schedule 11.09.2018
comment
Благодарим за ваше предложение. Я использовал DataTable в компоненте скрипта. Тогда это сработало! Еще раз спасибо! - person Ange; 13.09.2018

Поскольку ваша цель - сохранить расшифрованные значения в плоский файл, вы можете создать окончательный поток данных и использовать свою объектную переменную в качестве источника, выполнить расшифровку в преобразовании сценария (вместо задачи) и отправить результаты в свою квартиру. место назначения файла.

person Tab Alleman    schedule 11.09.2018
comment
Спасибо за подсказку о преобразовании скриптов! Я использовал компонент сценария с DataTable из приведенного выше комментария. Теперь работает :) - person Ange; 13.09.2018