SSIS中执行SQL任务中文件路径中的变量值?

时间:2015-07-20 13:38:28

标签: sql-server tsql ssis

我正在尝试在SSIS中使用Execute SQL task。但它不接受路径中的变量值?文件名是动态的,因此必须来自变量。以下代码是执行SQL任务中的直接输入。

USE [master]
go

RESTORE DATABASE MyDb FROM
DISK = N'c:\DBRestores\?'
WITH REPLACE

go

然后我使用Parameter Mapping映射该值,但任务失败。

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

您可以在表达式中设置动态参数。 在Execute SQL Task Editor中,转到Expressions - > Property - > SQLStatementSource - > Expression并在其下面添加SQL,在其中替换您的动态变量名称,然后单击Evaluate Expression并检查评估值。

"USE [master]
go

RESTORE DATABASE MyDb FROM
DISK = N'c:\\DBRestores\\" + @[User::VariableParameter]  + "'
WITH REPLACE

go"

如果评估值与预期值一致,则脚本将接受来自变量的动态文件名。