Передача переменной через DTEXEC с помощью xp_cmdshell (SQL Server 2008)

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

Имя переменной в моем пакете служб SSIS - & quot; ExcelSource & quot; и он должен представлять полный путь. Я хотел бы в конечном итоге установить это динамически, потому что имя файла содержит дату.

Что такое код T-SQL для запуска этого? Вот что у меня так далеко:

DECLARE @ssisstr VARCHAR(8000)
, @packagename VARCHAR(200)
, @servername VARCHAR(100)

DECLARE @params VARCHAR(8000)
--my package name
SET @packagename = 'MyPackage'
--my server name
SET @servername = 'MYCOMPUTER\MYSERVER'

SET @params = '/set \package.variables[ExcelSource].Value;"\"Y:\excelFile\Test File - June 11 2012.xlsx\""'

SET @ssisstr = 'dtexec /sq ' + @packagename + ' /ser ' + @servername + ' '
SET @ssisstr = @ssisstr + @params

DECLARE @returncode INT
EXEC @returncode = xp_cmdshell @ssisstr
SELECT @returncode

Ответы на вопрос(1)

Ваш ответ на вопрос