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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

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

            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;
0 голосов
/ 11 сентября 2018

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

...