Попытка выяснить проблему
Похоже, вы используете рабочий синтаксис, но я приведу несколько советов, которые могут помочь решить проблему:
(1) Обработка NULL
Убедитесь, что ни одна из переменных, используемых в команде, не содержит значений NULL, что может привести к тому, что значение объединенной строки будет NULL
. Для решения проблемы можно использовать ISNULL()
.
SELECT @ConfigurationName = ISNULL(@ConfigurationName,'') ,
@Country = ISNULL(@Country ,'') ,
@OrgDepartment_Team = ISNULL(@OrgDepartment_Team,'') ,
@Subfix = ISNULL(@Subfix ,'') ,
@TeamName = ISNULL(@TeamName,'')
(2) Обработка котировок
Я предпочитаю, чтобы в переменные вместо основной строки были включены кавычки. Для этого вы можете использовать функцию QUOTENAME()
:
SELECT @ConfigurationName = QUOTENAME(ISNULL(@ConfigurationName,''),'"') ,
@Country = QUOTENAME(ISNULL(@Country ,''),'"') ,
@OrgDepartment_Team = QUOTENAME(ISNULL(@OrgDepartment_Team,''),'"') ,
@Subfix = QUOTENAME(ISNULL(@Subfix ,''),'"') ,
@TeamName = QUOTENAME(ISNULL(@TeamName,''),'"')
SELECT @Cmd = 'DTexec /F "C:\ssis\tool\package1.dtsx"
/SET "\Package.Variables[User::ConfigurationName].Properties[Value]";' + @ConfigurationName +
' /SET "\Package.Variables[User::Country].Properties[Value]";' + @Country +
' /SET "\Package.Variables[User::OrgDepartment_Team].Properties[Value]";' + @OrgDepartment_Team +
' /SET "\Package.Variables[User::Subfix].Properties[Value]";' + @Subfix +
' /SET "\Package.Variables[User::TeamName].Properties[Value]";' + @TeamName
(3) Отчетность
Вы можете прочитать весь журнал пакета, добавив в команду ключевое слово /Rep EWIP
:
SELECT @Cmd = 'DTexec /F "C:\ssis\tool\package1.dtsx" /Rep EWIP '
/ Rep [orting] уровень [; event_guid_or_name [; event_guid_or_name [...]]: (Необязательно). Указывает, какие типы сообщений сообщать. Доступны следующие варианты отчетов для уровня:
N Нет отчетов.
E Сообщается об ошибках.
W Сообщается о предупреждениях.
I Сообщаются информационные сообщения.
C Сообщаются о пользовательских событиях.
D Сообщается о событиях задачи потока данных.
P Сообщается о прогрессе.
V Подробные отчеты
Ссылки