【发布时间】:2014-09-08 11:52:38
【问题描述】:
SSIS 2008。一个父包,多个子包。所有的包都连接到两个 SQL Server 2008 R2 服务器。我想要实现的是一种配置,其中包含两个 SQL Server(服务器、数据库、用户名、密码)的连接详细信息。所以所有的包(父母和孩子)都可以使用这个配置。
我能想到的一种方法是为父级和所有子级中的连接详细信息设置变量。并在子项中设置变量以使用父项的值。所以我只有一个地方可以设置连接细节,就是父级。但我需要为每个孩子创建变量。我有十几个孩子,所以打字和设置工作量很大。
那么有没有更好的方法来做到这一点?
【问题讨论】:
-
或者你可以让所有的子包直接引用配置。或者您可以使用注册表或环境变量配置。如果可能,请尝试使用 windows 身份验证,这样您就不需要指定用户和密码。
-
我一开始尝试了包配置。但并非每个包都会使用相同的连接。有些人同时使用,有些人使用其中之一。我发现包配置的问题是当多个包使用相同的配置文件时,它们往往会相互混淆。
-
他们以什么方式互相纠缠?
-
好吧,也许我没有这方面的经验。我最初的想法是一个配置文件具有所有连接,然后所有包都可以引用该文件以获取所需的连接。但是有些包并没有使用所有连接,当我尝试使用该配置文件时,它要求我重用现有的配置文件或覆盖。我选择了重用,然后发现文件被该包中的仅连接覆盖(因此包中未使用的连接丢失)。
-
后来我发现正确的方法是一个文件一个连接,跨包的同一个连接使用相同的名称。然后在每个包中只应用需要的配置文件。
标签: ssis