现在,我还启用了该包的包配置,并在C:驱动器的根目录下有几个XML配置文件(每个连接一个)。配置文件连接基于它们所在的服务器而不同,但文件夹结构存在于两个服务器上,因此该包可以针对其运行的服务器执行。
我已经选中了启用包配置并将该包部署到两个不同的服务器上。其中一个用于开发,另一个用于QA。当我通过SSMS集成包执行在我的开发服务器上执行包时,该包利用开发表。但是,当我在QA环境中执行相同的包时,它也使用开发表。
由于开发连接是通过连接管理器嵌入在包中的,因此看起来(可能)该包正在使用嵌入式连接并忽略配置文件。
我已经尝试在配置部分的Execute Package实用程序中明确添加了配置文件的路径,以查看是否有任何区别,但结果是相同的。配置文件没有被承认。因此,似乎该包正在使用在配置管理器中定义的嵌入式连接。
我想我“可能”能够从连接管理器部分中删除连接,并在设计时关闭验证,然后再次部署,以强制该包使用配置文件,但这似乎不是正确的方法,最多只是一个hack。而且,即使这样做,也不能保证它会起作用。
虽然我认为这不应该有任何影响,但为了提供更多细节,这里有一些关于我的服务器配置的信息:
开发-SQL 2014 [ServerName] 质量保证-SQL 2014 [ServerName] [InstanceName]
我不记得以前遇到过这个问题,因此我才发帖问。