Pasando una variable a través de DTEXEC con xp_cmdshell (SQL Server 2008)

He creado un paquete SSIS que importa un archivo de Excel a mi base de datos. He creado una variable que me gustaría usar como la ruta de archivo de Excel para el administrador de conexión de Excel.

El nombre de la variable en mi paquete SSIS es "ExcelSource" y se supone que representa la ruta completa. Me gustaría establecer esto de forma dinámica porque el nombre de archivo contiene una fecha.

¿Cuál es el código T-SQL para ejecutar esto? Aquí está lo que tengo hasta ahora:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta