gpt4 book ai didi

sql - 什么会导致 SSIS 忽略包配置连接?

转载 作者:行者123 更新时间:2023-12-04 20:30:18 26 4
gpt4 key购买 nike

我有一个非常简单的 SSIS 包,它在连接管理器部分定义了 2 个连接。一个 MS Access 数据源和一个 MS SQL 数据源目标。这个包所做的只是在 SQL 目标中截​​断一个表并将数据从 MS Access 导入到 SQL 表中。这在 VS2013 的开发过程中按预期工作。

现在,我还为包启用了包配置,并在 C: 驱动器根目录的文件夹中有几个 XML 配置文件(每个连接 1 个)。配置文件连接因它们所在的服务器而异,但文件夹结构存在于两台服务器上,因此包可以针对运行它的服务器执行。

我已选中该框以启用包配置并将包部署到 2 个不同的服务器。 1 个用于开发,另一个用于 QA。当我通过我的开发服务器上的 SSMS 集成包执行来执行包时,包使用开发表。但是当我在我的 QA 环境中执行相同的包时,它也会使用 Development 表。

由于开发连接是通过连接管理器嵌入到包中的连接,因此看起来(大概无论如何)包正在使用嵌入式连接并忽略配置文件。

或者,我在“配置”部分的“执行包实用程序”中显式添加了配置文件的路径,以查看它是否有任何不同,但结果是相同的。配置文件未被确认。因此,该包似乎再次使用了配置管理器中定义的嵌入式连接。

我想我“可能”能够从连接管理器部分的包中删除连接并在设计时关闭验证,然后再次部署以强制包使用配置文件,但事实并非如此似乎是最好的方法和黑客攻击;前提是它甚至可以工作。

并不是说我认为它应该有所作为,但为了提供更多细节,这里有一些关于我的服务器配置的更多信息:

开发 - SQL 2014 [ServerName]质量保证 - SQL 2014 [ServerName][InstanceName]

我不记得以前遇到过这个问题,因此我发帖的原因。

最佳答案

好吧,因为我在最后期限前工作;我希望早日得到答案。但由于情况并非如此,并且因为我之前看到过这个问题的变体而没有明确的答案(至少为了满足这种情况)我进行了一些测试并将其发布给可能也需要此信息的其他人。

即使在 SSIS 包中启用了包配置,以下条件也将忽略配置文件的使用。这些发现基于实际测试并被证实适用于 SQL 2014,尽管之前的版本可能也适用。

免责声明:这些测试侧重于与实际服务器连接相关的配置文件。 (例如连接字符串)而不是任何其他变量,尽管可以想象配置文件中的任何其他值也会受到影响。

  1. 在连接到集成服务组件并选择运行包时从 SSMS 中执行包。值得注意的行为是,在部署到服务器之前获取的任何连接值都是将要使用的值;与配置文件无关

    注意: 即使在执行之前在“配置”部分添加了配置,这仍然适用。尽管提到配置未导入且无法编辑;事实上,它们在测试期间均未使用。

  2. 如果 SQL 作业的类型为 SQL Server Integration Services Package,并且没有配置文件引用实际添加到“配置”选项卡,则作业将在 BIDS 之前的最后一次构建期间使用的任何值下执行的值部署(内嵌值)

  3. 如果包使用了多个配置文件,但在作业的“配置”选项卡中省略了一些配置文件;该作业将使用那些指定的配置文件,但对于作业上下文中不存在的那些,将默认为开发中使用的最后一个值(嵌入值)

其中一些行为不是很明显,我想当有人希望遵循大多数在线教程的规则来使用包配置文件时,这可能是一个令人沮丧的难题;会有预期的更直接的结果。

我知道通过测试找出根本原因对我来说是一项耗时的任务,尽管我不是专家;我当然不是 SSIS 的新手。

无论如何,我希望这可以帮助其他人从工作和调查中解脱出来。

关于sql - 什么会导致 SSIS 忽略包配置连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32252231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com