如何在SSIS中使用变量进行OLE DB连接

时间:2016-08-10 15:45:04

标签: sql-server parameters ssis

有没有办法使用用户定义的变量为SSIS OLE DB连接定义连接字符串?

1)我最初将其设置为使用package参数。

2)我在SQL存储过程中使用xp_cmdshell从文件中执行SSIS包,但发现包参数是只读的。

  • 我收到此错误...“更改变量的值失败,因为它是参数变量。参数变量是只读的”

3)所以看起来我需要使用变量......但是,我没有看到一种方法来为连接字符串使用变量。当我使用'Parameterize'选项进行连接时,它只给我选择参数的选项,而不是变量。

有什么想法?谢谢!

2 个答案:

答案 0 :(得分:1)

我肯定从评论中你会得到很多建议但是你问你如何使用变量作为连接字符串来回答那个部分。这很容易,

  • 添加包变量(在空白区域右键单击控制流并选择变量将为您带来添加一个的位置)
  • 选择连接管理器,然后转到属性(我使用右键单击属性)
  • 单击“表达式”,然后单击“...”按钮
  • 在Property中选择“ConnectionString”并将表达式设置为您的变量或任何您想要的变量。

enter image description here

答案 1 :(得分:0)

是的,马特的回答是正确的。您可以在连接管理器的表达式中使用用户定义的变量。

这有一个限制。此变量仅适用于此包。

您应该创建一个项目参数而不是用户定义的变量,以便您以后可以配置项目的任何包。

如果为多个软件包使用相同的连接,则可以在项目级别移动连接管理器。