Есть ли способ передать строку подключения (диспетчер соединений) для пакета служб SSIS при добавлении задания в параметр команды - PullRequest
2 голосов
/ 01 мая 2019

Как передать диспетчер соединений (строку подключения) при создании задания с использованием оператора T-SQL, имеющего пакет служб SSIS в качестве шагов или процесса?

Пример:

DECLARE @SSIScommand as NVARCHAR(max)

SET @SSIScommand = '/ISSERVER "\"'+@package+'\"" /SERVER 
"\"'+@servername+'\""' 
+ '/Par "\"$Project::MyParam\"";' + @params +' '
+ '/CALLERINFO SQLAGENT /REPORTING E'

EXEC msdb.dbo.sp_add_jobstep
    @job_name = 'Job Name',
    @step_name = N'process step',
    @subsystem = N'SSIS',
    @command = @SSIScommand

Теперь я хочу передать строку подключения выше @SSIScommand. Я изменил, как показано ниже, но он не работает

SET @SSIScommand = '/ISSERVER "\"'+@package+'\"" /SERVER 
"\"'+@servername+'\""' 
+ '/Con "NameofConnectionstring";"\"'+ @ConnectionString +'\""'
+ '/Par "\"$Project::MyParam\"";' + @params +' '
+ '/CALLERINFO SQLAGENT /REPORTING E'

Я не знаю, где совершаю ошибку, может кто-нибудь помочь мне выйти из этого.

1 Ответ

1 голос
/ 01 мая 2019

Вы должны использовать /conn вместо /con.Пример:

dtexec /F MyPackage.dtsx /CONN "MyConnection"\;"\"MyConnectionString\""

В вашем случае, я думаю, вы должны использовать следующий синтаксис:

SET @SSIScommand = '/ISSERVER "\"'+@package+'\"" /SERVER 
"\"'+@servername+'\""' 
+ '/conn "NameofConnectionstring";"\"'+ @ConnectionString +'\""'
+ '/Par "\"$Project::MyParam\"";' + @params +' '
+ '/CALLERINFO SQLAGENT /REPORTING E'

Ссылка

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