SSIS连接表达问题

时间:2011-09-14 07:52:13

标签: ssis

我试图将表达式用于SSIS中的子包但是它总是错误地说它找不到dtsx文件。我已经复制了探索者的路径,似乎是正确的。

该错误还表明无法将表达式写入属性。我的代码如下。

@ [User :: vRoot] +“\ Employees.dtsx”,其中@ [User :: vRoot]是存储在SQL中的变量

任何想法

2 个答案:

答案 0 :(得分:2)

尝试使用额外的反斜杠转义表达式中的反斜杠。

@[User::vRoot] + "\\Employees.dtsx"

在我需要连接文件夹和文件名的情况下,我总是这样做。我通常创建两个名为FolderPathFileName的变量。我们假设 FolderPath 包含C:\temp\确保以反斜杠结尾), FileName 包含Employees.dtsx。< / p>

我将创建一个名为FilePath的第三个变量,并将此变量的 EvaluateAsExpression 属性设置为 true 。我将在此变量中设置以下表达式,以便动态评估该值。

@[User::FolderPath] + @[User::FileName]

希望有所帮助。

答案 1 :(得分:0)

此处的反斜杠是转义字符,因此,如果要表示文字反斜杠,则为“ \\”。

作为一般规则,我还建议不要在字符串连接中硬编码反斜杠,而应使用此方法来考虑第一个变量中可能存在的反斜杠:

@ [User :: vRoot] +(RIGHT(@ [User :: vRoot],1)==“ \\”?“”:“ \\”)+“ Employees.dtsx”