Передача переменной из пакетного файла в пакет служб SSIS - PullRequest
1 голос
/ 26 мая 2011

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

Я отправляю ее из пакетного файла как:

Выход% Выход%

И установите вывод команды Execute processTask, но не можете получить к нему доступ дальше.

Пожалуйста, помогите.!

1 Ответ

3 голосов
/ 26 мая 2011

Я думаю, что вы должны echo переменная% Output% вместо использования с Exit командой.

В следующем примере показано, как передать строку из пакетного файлав SSIS:

  1. Снимок экрана # 1 показывает содержимое пакетного файла, использованного в этом примере.
  2. Снимок экрана # 2 показывает Выполнить процессную задачу конфигурация.Переменная BatchOutput имеет тип string.
  3. Снимок экрана # 3 показывает, что Задача сценария Success добавляется после пакета Выполнить процессЗадача.
  4. В задаче «Сценарий» у меня есть код, показанный в разделе Код задачи сценария , для отображения содержимого переменной BatchOutput .
  5. При выполнении задачи должно отображаться содержимое переменной, которая фактически является текстом, отображаемым из командного файла.см. снимок экрана # 4 .

Код задачи сценария: (Используйте приведенный ниже код для замены метода Main () в задаче сценария)

VB Основной () код метода, который можно использовать в SSIS 2005 and above

Public Sub Main()
    Dim varCollection As Variables = Nothing    

    Dts.VariableDispenser.LockForRead("User::BatchOutput")
    Dts.VariableDispenser.GetVariables(varCollection)

    MessageBox.Show(varCollection("User::BatchOutput").Value.ToString())

    Dts.TaskResult = ScriptResults.Success
End Sub

C # Код метода Main (), который можно использовать только в SSIS 2008 and above.

public void Main()
{
    Variables varCollection = null;
    Dts.VariableDispenser.LockForRead("User::BatchOutput");
    Dts.VariableDispenser.GetVariables(ref varCollection);

    MessageBox.Show(varCollection["User::BatchOutput"].Value.ToString());
    Dts.TaskResult = (int)ScriptResults.Success;
}

Надеюсь, это поможет.

Снимок экрана # 1:

1

Снимок экрана № 2:

2

Снимок экрана № 3:

3

Снимок экрана № 4:

4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...