SSIS 条件拆分错误 - 数据类型 DT_BYTES 不能与二元运算符“==”一起使用

SSIS Conditional Split Error - The data type DT_BYTES cannot be used with binary operator "=="

在使用以下表达式配置条件拆分组件时:

[VersionStamp_Source] == (DT_I8)[VersionStamp_Destination]

我收到以下错误:

The data type DT_BYTES cannot be used with binary operator "==".

截图:

如错误消息所示,条件拆分表达式中使用的列之一的数据类型为 DT_BYTES,无法使用二元运算符进行比较。

您需要将此列转换为另一种数据类型。如official documentation中所述,DT_BYTES可以转换为DT_I8或字符串数​​据类型。

正如@billinkc 在评论中提到的,将 DT_BYTES 转换为字符串数据类型更为可取,因为某些值无法转换为 8 字节整数。

要解决您的问题,请尝试使用以下表达式:

    (DT_WSTR,255)[VersionStamp_Source] == (DT_WSTR,255)[VersionStamp_Destination]

此外,请确保为字符串转换运算符使用准确的长度。您可以将字符串长度增加到 4000