SSIS - 如何将用户定义的变量用作数据库路径?

时间:2013-04-12 18:45:40

标签: sql-server ssis

我想让用户输入他们将要使用的数据库路径。

例如:     @SourceDB = DatabaseA.dbo。

然后我想在数据流或执行SQL任务中使用变量。

我的问题:如何在这两个任务中引用变量?这些方式似乎都不适合我:

SELECT Field1, Field2 FROM @SourceDB + tablename

"SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename"

SELECT Field1, Field2 FROM ? tablename

1 个答案:

答案 0 :(得分:1)

您将无法将其用作参数?。其他人试图这样做并遇到你正在经历的事情。

我要做的是定义一个变量,称之为SourceQuery,String的数据类型,在包级别作用域。在该变量的属性窗口(F4)中,将EvaluateAsExpression属性更改为True。然后在表达式中使用您已指定的公式。 "SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename"

最后在你的OLE DB Source中,将访问模式更改为表或视图为“来自变量的SQL命令”,然后事情才能正常工作。

需要注意的一点是,如果这些列的数据类型发生更改,则您的SSIS包将无法通过验证步骤。