【问题标题】:Why can't I escape double quote characters in SSIS Expression Builder?为什么我不能在 SSIS 表达式生成器中转义双引号字符?
【发布时间】:2017-12-18 02:16:51
【问题描述】:

我正在尝试向 SSIS 中的条件拆分转换添加条件,但条件中字符串开头的双引号字符会引发错误。

这是我的条件:

(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName)

这是我在条件拆分转换编辑器上单击“确定”时收到的错误消息的开头:

Error at Data Flow Task [Conditional Split [105]]: Attempt to parse the expression "(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" failed.  The token " " at line number "1", character number "57" was not recognized. The expression cannot be parsed because it contains invalid elements at the location specified.

我试图通过将条件更改为:

用“\”转义双引号
(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL(LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName)

然后我收到以下错误:

数据流任务 [Conditional Split [105]] 出错:尝试解析表达式“(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL( LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" 失败。无法识别行号“1”、字符号“57”处的标记“\”。无法解析表达式,因为它在指定位置包含无效元素。

【问题讨论】:

  • “abc” 似乎是复制粘贴。删除双引号并在表达式生成器中手动写入"
  • 是的,就是这样!我不知道这会有所作为。谢谢。

标签: sql-server ssis etl expressionbuilder conditional-split


【解决方案1】:

正如 Prabhat G 所说,“abc” 是复制粘贴,所以我删除了双引号并再次手动输入。

经验教训:从头开始构建表达式总是更好!

【讨论】:

  • 乐于助人!干杯
猜你喜欢
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
  • 2016-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-01
相关资源
最近更新 更多