Выполнение сценария SQLCMD из задачи выполнения процесса SSIS с переменными
У меня есть файл.sql со скриптами, которые включают элементы SQLCMD.
Мне нужно, чтобы он запускался из пакета служб SSIS.
Мне не удалось выполнить его из "Выполнить задачу SQL ".
В соответствии с этим http://www.sqlservercentral.com/Forums/Topic818940-147-1.aspx я должен использовать "Выполнить задачу процесса " с:
Исполняемый файл: C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ SQLCMD.EXE
Аргументы: -S сервер -U пользователь -P pass -i C:\ путь \ к \file.sql
Это работает нормально.
Но мне нужно, чтобы аргументы включали переменную. Что бы я ни пытался, это терпит неудачу.
Аргументы: -S сервер -U пользователь -P pass -i @[User::FileNameView]
Ошибка:
[Execute Process Task] Error: In Executing "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" "-S server -U user -P pass -i @[User::FileNameView]" at "", The process exit code was "1" while the expected was "0".
У меня вопрос: как включить переменную в строку аргументов? Есть ли другой подход, который я должен использовать?
Дополнительная информация:
SQL Server 2008R2
Причина, по которой мне нужно, чтобы это были переменные, заключается в том, что я помещу "Задачу выполнения процесса" в "Для каждого цикла", чтобы иметь возможность выполнять все файлы.sql в папке.
1 ответ
Я считаю, что вам нужно создать выражение с именем Аргументы со значением:
"-S server -U user -P pass -i " + @[User::FileNameView]
Вам может потребоваться выполнить приведение типа, если @[User::FileNameView]
не строка