【问题标题】:How to convert String to BLOB in ESQL?如何在 ESQL 中将字符串转换为 BLOB?
【发布时间】:2017-07-06 17:25:02
【问题描述】:

应该这么简单

  SET OutputRoot.BLOB.BLOB = CAST(MYSTRING AS BLOB);

但是当我这样做时,IIB 会引发错误

尝试将字符串“ABC”转换为字节字符串,但该字符串的格式错误。必须有偶数个十六进制数字(0-9、a-f、A-F)。

【问题讨论】:

    标签: ibm-integration-bus extended-sql


    【解决方案1】:

    如您所见,您需要的 CAST-function 语法是

    CAST( <source_expression> AS <DataType> CCSID <expression> )
    

    所以在你的代码中是

    CAST( MYSTRING AS BLOB CCSID 1208 )
    

    CCSID 参数仅用于与其中一种字符串数据类型之间的转换。使用 CCSID 参数指定源或目标字符串的代码页。 [Source]

    因此,您可以使用 编码字符集标识符 (CCSID) 定义code page。例如,1208UTF-8 with IBM PUA 的 CCSID。您可以看到 IBM 的 CCSID here 的列表。

    如果您想更详细地了解此主题的信息,您可以查看 Version 9.0.0Version 10.0.0 的 IIB 文档。

    【讨论】:

      【解决方案2】:

      就我而言,我需要将其更改为 AS BLOB CCSID 1208 我现在需要了解 CCSID 的含义。

      【讨论】:

        猜你喜欢
        • 2012-05-30
        • 2013-06-28
        • 1970-01-01
        • 2023-01-25
        • 2015-12-20
        • 2016-06-09
        • 1970-01-01
        • 2020-01-19
        • 2017-07-07
        相关资源
        最近更新 更多