如何在ESQL中将String转换为BLOB?

时间:2016-12-30 20:16:06

标签: ibm-integration-bus extended-sql

应该像

一样简单
  SET OutputRoot.BLOB.BLOB = CAST(MYSTRING AS BLOB);

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

  

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

2 个答案:

答案 0 :(得分:1)

在我的情况下,我需要将其更改为AS BLOB CCSID 1208 我需要阅读CCSID现在的含义。

答案 1 :(得分:1)

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

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

所以在你的代码中它是

CAST( MYSTRING AS BLOB CCSID 1208 )
  

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

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

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