在执行 SSIS 包时将值传递给变量
Pass value to variable in executing SSIS package
我有一个 SSIS 包可以根据月份加载一些数据,我想通过 windows 批处理文件调用该包。这是现在运行良好的 cmd 文件中的内容:
CD /D C:\Program Files\Microsoft SQL Server0\DTS\Binn
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; "9"
现在我将 9 替换为一个变量,以减少硬编码
CD /D C:\Program Files\Microsoft SQL Server0\DTS\Binn
set ActualMonth = 9
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; "%ActualMonth%"
但是,这不起作用:这是错误信息:
C:\Program Files\Microsoft SQL Server0\DTS\Binn>DTExec.exe /f "E:\APAutomatio
n\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::Actual
Month].Properties[Value]; ""
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.1600.1 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
Argument ""\Package.Variables[User::ActualMonth].Properties[Value];"" for option
"set" is not valid.
C:\Program Files\Microsoft SQL Server0\DTS\Binn>pause
Press any key to continue . . .
我也试过:
set ActualMonth = "9"
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; %ActualMonth%
它给了我同样的错误信息。请帮忙!
我认为你的具体问题是空格...
使用这个
set ActualMonth=9
而不是这个:
set ActualMonth = 9
您所做的基本上是从批处理文件设置包配置。如果您将包设置为从包配置文件中读取并将您的月份编号放在那里,它可能会更好。
我有一个 SSIS 包可以根据月份加载一些数据,我想通过 windows 批处理文件调用该包。这是现在运行良好的 cmd 文件中的内容:
CD /D C:\Program Files\Microsoft SQL Server0\DTS\Binn
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; "9"
现在我将 9 替换为一个变量,以减少硬编码
CD /D C:\Program Files\Microsoft SQL Server0\DTS\Binn
set ActualMonth = 9
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; "%ActualMonth%"
但是,这不起作用:这是错误信息:
C:\Program Files\Microsoft SQL Server0\DTS\Binn>DTExec.exe /f "E:\APAutomatio
n\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::Actual
Month].Properties[Value]; ""
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.1600.1 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
Argument ""\Package.Variables[User::ActualMonth].Properties[Value];"" for option
"set" is not valid.
C:\Program Files\Microsoft SQL Server0\DTS\Binn>pause
Press any key to continue . . .
我也试过:
set ActualMonth = "9"
DTExec.exe /f "E:\APAutomation\SSIS\AP\ActualDataImport_Console_PL.dtsx" /SET \Package.Variables[User::ActualMonth].Properties[Value]; %ActualMonth%
它给了我同样的错误信息。请帮忙!
我认为你的具体问题是空格...
使用这个
set ActualMonth=9
而不是这个:
set ActualMonth = 9
您所做的基本上是从批处理文件设置包配置。如果您将包设置为从包配置文件中读取并将您的月份编号放在那里,它可能会更好。