如何正确解析SSIS变量表达式?

问题描述

我创建了一个SSIS变量,我想将其转换为一个表达式,所以我将其写为Expression:

=“ \\ livprodad1.liv.local \ UserProfiles $ \ mike.jones \ Documents \ Files”

我引用的实际链接是: \ livprodad1.liv.local \ UserProfiles $ \ mike.jones \ Documents \ Files

但我收到此消息:无法评估表达式 尝试解析表达式失败。该表达式可能包含无效的标记,不完整的标记或无效的元素。它的格式可能不正确,或者可能缺少必需元素的一部分,例如括号。

我在做什么错?应该怎么写?

解决方法

您需要将表达式中的所有斜杠加倍,

"\livprodad1.liv.local\UserProfiles$\mike.jones\Documents\Files"

成为

"\\livprodad1.liv.local\\UserProfiles$\\mike.jones\\Documents\\Files"

如果您打算编码

"\\livprodad1.liv.local\UserProfiles$\mike.jones\Documents\Files"

它将变成

"\\\\livprodad1.liv.local\\UserProfiles$\\mike.jones\\Documents\\Files"

前导等号可能指向一个不同的问题,因为我可以想到的唯一一个明确的位置是表达式任务中分配值的位置。在其他任何地方,都有一个单独的字段,您可以在其中列出要修改的变量

如果双引号是表达式本身的一部分,那么您还可以使用反斜杠\"对其进行转义,这是在What is the escape character for SSIS Expression Builder?上同时转义两个示例的绝佳示例。