小编Íñi*_*igo的帖子

JSON_TABLE 中的 SQLRPGLE 和 CCSID 问题

我的一个程序有问题,它与源文件 CCSID 相关。\n我需要生成一个 JSON 字段。\n在原始程序中,它是从公共表(具有不同列)插入到一个表,定义为 CLOB 以包含使用源表列生成的 JSON。

\n

这是该程序的一个示例,它显示了问题,并且存在相同的问题:

\n
**free\n\nctl-opt dftactgrp(*no) option(*srcstmt:*NODEBUGIO);\n\ndcl-s jsonv varchar(256) ccsid(1145);\ndcl-s text varchar(34) ccsid(1145);\n\nTEXT='TEST, AND TEXT';\nexec sql set :jsonv=json_object('test_text' value :text);\n\nreturn;    \xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n

编译为:

\n
CRTSQLRPGI OBJ(TESTJSON) SRCFILE(LET) SRCMBR(TESTJSON) OPTION(*EVENTF) REPLACE(*YES) DBGVIEW(*SOURCE) LANGID(ESP) CVTCCSID(*JOB)\n
Run Code Online (Sandbox Code Playgroud)\n

问题是,当我编译来自 CCSID 284 源文件的代码时,它工作正常。

\n

但是当我从 CCSID 65535 的不同源文件编译它时,程序失败。\xc2\xa0

\n

这些是错误:

\n
Derived operands not valid for operator JSON_OBJECT. Reason code 12. \nCharacter conversion between CCSID 65535 and CCSID 1208 not valid.   \n  12 -- The CCSIDs (Coded Character …
Run Code Online (Sandbox Code Playgroud)

sql json rpgle ibm-midrange

4
推荐指数
1
解决办法
1034
查看次数

标签 统计

ibm-midrange ×1

json ×1

rpgle ×1

sql ×1