我使用VS 2008创建了SSIS包
我有5个变量可以在运行时动态更改值
我有默认值,我可以在运行时更改这些值。
我使用bat文件运行包,如下面的
DTEXEC.EXE /FILE "C:\Users\katapa\Desktop\ExtractData.dtsx"
/Set \Package.Variables[User::FilePath].Properties[Value];"C:\EPLInterface\PPSDataExtraction"
/Set \Package.Variables[User::Servername].Properties[Value];"New Server"
/Set \Package.Variables[User::DataBaseName].Properties[Value];"UAT"
/Set \Package.Variables[User::UserName].Properties[Value];"admin"
/Set \Package.Variables[User::Password].Properties[Value];"11111"
即使我正在更新值,它总是采用默认值。
当我手动运行包并在编辑命令行中手动设置参数时,它可以工作。如果我从外部命令行运行相同的代码,它将采用我为变量设置的默认值。
答案 0 :(得分:0)
这将起作用 - 重要的是你的批处理文件没有任何中断。确保一切都在彼此之后,并且没有括号。这对我很好,我测试了它。可以删除ECHO部分,但在调试
时很好用@ECHO OFF
ECHO.
ECHO This is a batch file
ECHO.
DTEXEC.EXE /F "C:\Users\thoje\Documents\Visual Studio
2015\Projects\Integration Services Project8\Integration Services
Project8\Package4.dtsx" /Set \Package.Variables[User::Test2].Value;lol /set
\Package.Variables[User::Test3].Value;omg
PAUSE
CLS
没有任何中断/输入推送