2

我遇到了我们的一些包裹的问题。基本布局是将连接字符串存储在数据库中的 SSIS 配置表中。

我最近注意到我的 oledb 连接的服务器名称似乎保持不变。我已经看到我将包从一个环境移动到另一个环境并且验证失败。如果我将密码更改为它验证的第一个环境中使用的密码。

除了我需要存储的连接字符串之外,还有其他属性吗?我没有使用变量或表达式。

有没有人见过这个?有问题的服务器版本是 2008 R2。

4

1 回答 1

2

这可能是因为它试图使用存储在包本身中的连接字符串而不是配置文件提供的连接字符串进行验证。我知道解决这个问题的两种方法:

  1. 每个连接管理器和数据流任务都有一个名为 DelayValidation 的属性。当设置为 true 时,该属性将阻止 SSIS 在配置更改连接字符串之前尝试验证连接和数据流任务。麻烦的是,默认值为 false,您必须在每个连接管理器和数据流任务上进行设置。您还需要记住每次创建新设置时都要翻转设置。
  2. 在部署之前,您可以手动或以编程方式更改 SSIS 包中连接字符串的实际值以匹配配置文件。诚然,这似乎确实违背了首先拥有配置文件的目的,但它确实确保了它会起作用。这是我经常最终采取的选择。在我从测试环境转移到生产环境之前,我在文本编辑器中弹出打开包并查找/替换连接字符串。我已经确定这对我的包裹是安全的,但是,与任何类似的 hacky 解决方案一样,您的里程可能会有所不同。
于 2013-02-11T04:51:43.373 回答