我在Server上构建了SSIS包(假设A),用XML定义了它的配置。我已将软件包和配置文件复制到另一台服务器(假设为B)并使用Batch命令运行它,如下所示:
echo "Running SSIS Load" >D:\samplessis\log\Mylog.log dtexec.exe /f "D:\samplessis\ag_data_import.dtsx" /CONFIGFILE "D:\samplessis\config\AgDataLoad.dtsConfig" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF >>D:\samplessis\log\Mylog.log
这个包似乎使用了包中定义的配置,但没有使用xml(配置文件)
答案 0 :(得分:1)
当在MSSQL 2008 R2或更高版本中为DTEXEC提供XML配置文件时,它在运行时按此顺序配置自身:
(来源:https://technet.microsoft.com/en-us/library/bb500430(v=sql.105).aspx)
这意味着程序包在运行时的配置是Design - XML - Design。如果您要更改XML文件的内容并在开发框中运行DTEXEC命令,您将得到相同的结果......
要解决此问题,请在设计器中设置配置后清除初始值。例如,如果您将connectino字符串作为参数,请设计Connection Manager,将Connection String添加到XML文件,然后在Connection Manager的属性中清除连接字符串。
如果在设计时没有指定值,设计人员将根据XML文件进行自我配置,并在使用DTEXEC运行时应用该XML文件。