如何在SSIS中为多个环境定义连接字符串



任何人都知道如何在SSIS中为不同的环境(如系统集成测试环境、用户接受测试环境和生产环境(指定不同的连接字符串吗?

它是通过定义多个连接管理器来完成的,还是我们可以定义多个配置文件并将连接字符串指向?

同一个数据库不需要有多个连接。

在SSIS 2008中:

使用表达式定义连接字符串是个好主意。这就是你可以做到的:

假设您在连接管理器中添加了一个新的OLEDB连接。复制ConnectionString属性的值。它看起来是这样的:数据源=(本地(;初始目录=学习;提供者=SQLNCLI10.1;综合安全=SSPI;应用程序名称=SSIS RaggedFile-{03053F2E-8101-4985-9F2B-8C2DDE510065}(本地(。学自动翻译=False;

去除非必需品:数据源=(本地(;初始目录=学习;提供者=SQLNCLI10.1;综合安全=SSPI;

现在在控件表面级别创建三个新变量:sServer、sDb和sProvider。这三个变量的类型都是字符串。使用本例,它们的值将是(local(、Learn和SQLNCLI10.1。

返回到连接的ConnectionString属性。并将其值设置为

"Data Source=(local);Initial Catalog=Learn;Provider=SQLNCLI10.1;Integrated Security=SSPI;" 

现在,用您创建的变量替换服务器、数据库和提供者,使您的表达式看起来像这样:

"Data Source=" + @[User::sServer] + ";Initial Catalog=" + @[User::sDb] + ";Provider=" + @[User::sProvider] + ";Integrated Security=SSPI;"

当我们从一个环境移动到另一个环境时,我们可能会遇到不同版本的数据库——因此,为提供者提供一个变量也很有帮助。

现在,可以在部署时更改这些值。

在SSIS 2012中-只要稍微改变一下,这种方法仍然有效。将这三个变量更改为参数并使其成为必需的。这样,在部署部署时,您将被迫更改这些值。这只是一个起点。了解服务器环境。

注意:我认为一个变量应该具有原子值。这有助于避免由于键入错误而导致的任何错误。这就是为什么我创建了三个独立的变量,而不是一个名为sCnxn的变量(例如(,并让某人在部署时更改该变量的一部分。

最新更新