【发布时间】:2016-08-10 15:45:03
【问题描述】:
有没有办法使用用户定义的变量来定义 SSIS OLE DB 连接的连接字符串?
1) 我最初将它设置为使用包参数。
2) 我在 SQL 存储过程中使用 xp_cmdshell 从文件执行 SSIS 包,但发现包参数是只读的。
- 我收到此错误...“更改变量的值失败,因为它是参数变量。参数变量是只读的”
3) 所以看起来我需要使用变量...但是,我没有看到将变量用于连接字符串的方法。当我为连接使用“参数化”选项时,它只让我选择一个参数,而不是一个变量。
有什么想法吗?谢谢!
【问题讨论】:
-
所以你基本上想做this?
-
我在本地环境中进行了精确设置。但是,在 Dev、Qa、Prod 等中......我们必须跳过一堆圈才能在 SQL Server 中设置集成服务。目前,我公司的所有 SSIS pkgs 都被复制到一个目录中,并使用 xp_cmdshell 执行。问题是,当前没有一个需要动态连接字符串,所以直到现在这还不是问题。所以,我必须想办法让它在当前设置下工作。这是一个紧迫的时间框架,对 SQL 服务器进行更改的批准过程将花费太长时间......有意义吗?
-
如果您只需要在每个环境的基础上指定连接字符串,您可以在部署包后通过 SQL Server 执行此操作。 (即,这是一个配置设置,而不是在代码中设置的东西)
-
这是从用户本地环境执行的。他们将指定一个目标“暂存”环境来复制一些数据库。因此,根据包的部署位置设置值是行不通的。它必须是动态的,以便用户可以传入连接字符串。
-
您使用的是什么版本的 SSIS?
标签: sql-server parameters ssis