SQL 服务器 - 为什么 BIDS 使用配置文件中的值修改连接管理器



我参与了此论坛中关于修改 XML 配置文件时 SSIS 是否覆盖包的讨论。这篇文章底部的两个帖子彼此不同意,一个说包确实被覆盖,一个说他们没有。我相信我有答案,但正在寻找其他人对此的想法 - 如果您在设计时修改 xml 包配置并通过 Visual Studio 运行包,则在保存包时,包代码实际上由 SSIS 修改以反映您更改的配置。但是,如果通过 DTEXEC 或 SQL Server 代理运行包,则不会修改包代码

如果我在 Visual Studio 中有一个包,如果我在 XML 配置中修改连接字符串中的服务器名称(将服务器 A 更改为服务器 B),并运行该包

我期望的行为很好,它将数据写入第二台服务器上的表我不希望的行为是这样的。当我在包视觉工作室中拉起连接管理器时,服务器 A 已更改为服务器 B

SSIS 修改了我的包中的代码。

这种行为可能会非常混乱,并且在我正在从事的项目上花费了我很多时间。恕我直言,应该只在运行时覆盖值,而不是在设计时覆盖包!!

你对此有什么想法吗?

帖子 1 声明它确实覆盖了

SSIS XML 配置修改包 XML - 我疯了吗?

帖子 2 声明它不会覆盖

SSIS XML 配置 - 配置覆盖包 - SSI 是否会在您不告诉的情况下更改配置?

如果您从Visual Studio 2005/2008(

对于SQL 2005/2008/2008 R2)执行包,那么是的,它确实使用配置的值进行覆盖。

Visual Studio 2010(用于SQL 2012)使用项目部署模型似乎可以避免此问题。

最新更新