在SSIS 2012项目中配置连接(将部署到服务器)的“最佳实践”方式是什么?文档和谷歌显示了多种方式来实现这一点,但哪种方式充分利用了2012年项目/部署模型,并且易于定制,可维护等?SSIS 2012 - 项目包环境连接配置的最佳模式
考虑一个包含三个包的项目(NorthwindETL),每个包引用localhost.Northwind。在SSIS服务器上,有一个项目'NorthwindETL'和一个环境'Dev'。
要配置的连接,我有以下选择
- IN BIDS:硬代码(通过连接管理器)的连接中的每个包手动。 IN SSIS:在连接管理器选项卡下,配置SSISDB'NorthwindETL'项目,修改Northwind连接字符串,每个包一次。
- IN BIDS:使用连接管理器'Parameterize ...'选项,创建一个项目(或包)参数来指定连接字符串(Northwind_Conn)。 IN SSIS:配置SSISDB'NorthwindETL'项目,指定Northwind_Conn参数值。
- IN BIDS:创建项目级连接管理器(Project_Northwind_Conn)。 IN SSIS:配置配置SSISDB'NorthwindETL'项目,在连接管理器选项卡下,修改'Project_Northwind_Conn'连接字符串。
- IN SSIS:在SSISDB上创建一个名为'DEV'的环境。在'Dev'环境属性中,在变量下创建一个变量'Env_Northwind_Conn'。配置NorthwindETL项目,设置“Northwind_Conn”的环境变量“Env_Nothwind_Conn”
(另外,我宁愿一个解决方案,使我们能够分别指定项目,如InitialCatalog和服务器,但是这是没有必要的。虽然连接管理器允许您修改InitialCatalog和Server属性,但似乎并未修改ConnectionString。)
如果您不介意说明第三段,那么您是在谈论文件系统文件夹(用于配置文件)还是SSISDB文件夹?如果是后者,你使用实际的环境变量,还是使用项目变量? –
SSISDB为我所有的答案。我提到的环境变量是基于SSISDB的环境变量,而不是Windows环境变量。那里的团队不幸地选择了术语。对于连接管理器,我不再采用创建包参数的方法,然后使用它们上的表达式来使我的包能够跨环境移植。相反,该目录允许您直接配置这些属性。 – billinkc