SSIS父子包共享连接详细信息

SSIS父子包共享连接详细信息,ssis,Ssis,SSIS 2008。一个父包,多个子包。所有包都连接到两台SQL Server 2008 R2服务器。我想要实现的是一个配置,其中包含两个SQL Server(服务器、数据库、用户名、密码)的连接详细信息。因此,所有包(父包和子包)都可以使用此配置 我能想到的一种方法是为父级和所有子级中的连接详细信息设置变量。在子对象中,设置变量以使用父对象的值。所以我只有一个地方可以设置连接细节,那就是父节点。但我需要为每个孩子创建变量。我有十几个孩子,所以需要大量的打字和设置 那么,有没有更好的方法 正在尝

SSIS 2008。一个父包,多个子包。所有包都连接到两台SQL Server 2008 R2服务器。我想要实现的是一个配置,其中包含两个SQL Server(服务器、数据库、用户名、密码)的连接详细信息。因此,所有包(父包和子包)都可以使用此配置

我能想到的一种方法是为父级和所有子级中的连接详细信息设置变量。在子对象中,设置变量以使用父对象的值。所以我只有一个地方可以设置连接细节,那就是父节点。但我需要为每个孩子创建变量。我有十几个孩子,所以需要大量的打字和设置


那么,有没有更好的方法

正在尝试使用SQL表配置。它们比配置文件更易于维护和读取。将每个连接断开为其自己的配置,以便可以根据需要将其应用于包,而不是将所有连接应用于每个包


确保每个包中的连接管理器名称相同-配置筛选器区分大小写。

或者您可以让所有子包直接引用配置。或者可以使用注册表或环境变量config。如果可能,请尝试使用windows身份验证,这样您就不需要指定用户和密码。我首先尝试了包配置。但并非每个包都使用相同的连接。有些人两者都用,有些人用其中一种。我发现软件包配置的问题是,当多个软件包使用同一个配置文件时,它们往往会相互弄乱。它们以什么方式相互弄乱?好的,也许我在这方面没有经验。我最初的想法是一个配置文件拥有所有连接,然后所有包都可以引用该文件以获得所需的连接。但有些软件包并不使用所有连接,当我尝试使用该配置文件时,它要求我重用现有的配置文件或覆盖。我选择了重用,然后发现文件仅被该包中的连接覆盖(因此包中未使用的连接将丢失)。我后来发现正确的方法是对一个连接使用一个文件,并对跨包的相同连接使用相同的名称。然后在每个包中只应用所需的配置文件。这似乎没有配置文件选项那么混乱,因为只需要一个表,每个连接都由筛选器标识。但是对于配置文件和sql选项,我需要在表或文件中手动设置密码,因为SSIS不导出密码。对,您需要将配置从服务器迁移到服务器。凭据和服务器名称在不同的环境中会有所不同。创建一个脚本来处理此问题,该脚本可以与包更改或数据库脚本一起迁移。