动态设置变量值以运行ssis包失败

时间:2017-09-18 10:28:03

标签: package expression ssis-2008

我使用VS 2008创建了SSIS包

我有5个变量可以在运行时动态更改值

enter image description here

我有默认值,我可以在运行时更改这些值。

我使用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"

即使我正在更新值,它总是采用默认值。

当我手动运行包并在编辑命令行中手动设置参数时,它可以工作。如果我从外部命令行运行相同的代码,它将采用我为变量设置的默认值。

enter image description here

1 个答案:

答案 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

没有任何输入/中断的batfile enter image description here

没有任何中断/输入推送

enter image description here