技术开发 频道

如何用SSIS包配置动态配置数据库连接?

【IT168 数据库】笔者在利用SSIS(SQL Server综合服务,SQL Server Integration Service)工具进行ETL开发过程中,遇到了每一次将开发的ETL包迁移到正式服务器时,需要逐个的修改数据库连接的问题,如果只有一个或者几个包,每个包里面只有一个数据库连接的话,还可以接受。如果有多个包,每个包里有多个数据库连接,每做一次迁移简直是一个灾难。通过查阅相关的帮助和资料,找到了通过“包配置”来解决这个问题。

  包配置实质上是将包中的一些需要灵活设置信息集中存放包配置中,每次在开发环境打开或者运行包时,SSIS自动找到对应的包配置信息,然后根据包配置信息打开或者运行包。在开发环境下“SSIS”单下用户可以找到“包配置”菜单项,打开“包配置窗口,如果用户已经存在包配置,可以在这个窗口中进行编辑和修改。单击添加按钮,可以打开添加新的配置。包配置的类型有:XML配置文件、环境变量、注册表项、父包变量、SQL Server几种类型,每种类型存储配置信息方式不同,本文以xml配置文件类型为例说明。xml配置文件类型的包配置会将配置信息以一个xml文件的形式存储,用户通过文本工具打开xml文件编辑配置信息。 

  本文通过一个实例来说明利用包配置方法和步骤。假设一个SSIS项目中有一个数据连接,当用户将SSIS项目由开发环境部署到正式环境,通常情况下在迁移过程中需要在开发环境下打开包修改数据库连接的连接字符串、连接数据库的用户名、密码才能在正式环境下正常运行,根据这个修改要求,我们可以将数据库连接的字符串、连接数据库用户名、密码做到包配置里,只需修改包配置就可以使包能够正常运行。配置步骤如下:

1、打开包配置界面,单周“添加”按钮添加一个包配置。

2、在包配置向导界面选择“xml配置文件”,单击浏览按钮,在弹出的窗口中为包指定路径和文件名,这里的包配置文件名为 ConnectionConfig.dtsConfig(xml文件)。

3、在第三个界面中选择需要在包配置中设置的一些属性,这里可以为SSIS包的组件属性、变量等设置初始值。这里选择“ .\SERVER01”这个连接的ConnectionString,Password,Usrname三个属性,使他们可以在ConnectionConfig.dtsConfig灵活配置。

4、下一步之后输入配置名称,就完成了配置设置。


  迁移到正式环境后,用户可以用文本编辑器打开ConnectionConfig.dtsConfig编辑,修改三个属性与正式环境相同的信息,用户就可以直接运行包了。

0
相关文章