【问题标题】:SSIS not using configuration when it is run on different server than where it was buildSSIS 在与构建位置不同的服务器上运行时不使用配置
【发布时间】:2016-06-25 08:35:55
【问题描述】:

我已经在服务器上构建了 SSIS 包(假设 A),在 XML 中定义了它的配置。我已将包和配置文件复制到不同的服务器(假设 B)并使用批处理命令运行它,如下所示:

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(配置文件)

【问题讨论】:

  • 您是否已将 SSIS 设置为使用 XML 文件作为其包配置源?我在这里找到了一个解释,从图 4 开始:simple-talk.com/sql/ssis/…
  • 是的,我已经按照您提供的链接完成了设置。

标签: sql-server ssis ssis-2012


【解决方案1】:

当 DTEXEC 在 MSSQL 2008 R2 或更高版本中获得 XML 配置文件时,它在运行时按此顺序配置自身:

  1. 实用程序首先应用设计时配置。
  2. 该实用程序然后应用您在 启动实用程序时的命令行。
  3. 最后,实用程序重新加载并重新应用设计时配置。

(来源:https://technet.microsoft.com/en-us/library/bb500430(v=sql.105).aspx)

这意味着运行时包中的配置是Design - XML - Design。如果您要更改 XML 文件的内容并在您的 dev-box 上运行 DTEXEC 命令,您会得到相同的结果...

为了解决这个问题,在设计器中设置好配置后,清除初始值。例如,如果你有一个 connectino 字符串作为参数,设计连接管理器,将连接字符串添加到 XML 文件中,然后在连接管理器的属性中,清除连接字符串。

当设计时没有指定值时,设计器将根据 XML 文件配置自己,并在使用 DTEXEC 运行时应用该 XML 文件。

【讨论】:

  • 我删除了 SQL 数据源的“连接字符串”、Excel 文件的“连接字符串”和日志文件的“连接字符串”。有效!!谢谢你..但是我们没有其他方法可以通过 cmd 处理,因为我有很多包要进去并重复这个!
猜你喜欢
  • 2021-01-08
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2015-05-23
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多