ibm-midrange - 将 CLOB 数据写入 SQL RPGILE 中的 IFS 文件
问题描述
我有一个 RPGILE 程序将带有 XMLSERIALIZE 的 SQL 返回到 CHAR(32000) 变量。有时结果会超过 32k 大小。最简单的方法是什么?如果我定义一个 clob 字段然后使用它返回 SQL 结果,则程序不会编译。我让它在 QTEMP 中使用 clob 字段创建一个文件,然后我没有在 RPG 中返回值,而是将结果插入到该文件中,然后将其写入 IFS。但是 XML 文件最后似乎有无效数据,并且无法使用,有什么想法吗?
XML 处理
D ResultXML S 32000A varying
........
/FREE
exec sql declare :ResultXml variable;
exec sql declare :SQLMESSAGE VARIABLE;
exec sql
SELECT
XMLSERIALIZE (content
xmlelement (NAME "Document",
xmlnamespaces(
DEFAULT 'urn:iso:std:iso:20022:tech:xsd:pain.008.001.02'
),
...
AS clob(1m) ccsid 37 INCLUDING XMLDECLARATION
as response
INTO :ResultXML
FROM csp40 t
文件写入
... then we write it to the IFS
EVAL fd = open(%trimr(resp_file): 74 :511);
if fd=-1;
eval RC = perror(resp_file);
return;
endif;
EVAL rc = write(fd:%addr(ResultXML)+2:%len(ResultXML));
EVAL rc = close(fd);
解决方案
推荐阅读
- mysql - LeetCode #512 游戏玩法分析 MySQL
- asp.net - 如何让 Bamboo 期望任务的不同返回码?
- windows - 尝试使用 KB 在 powershell 中安装更新
- javascript - 在 Vuex 中创建突变和动作?
- php - 无法通过浏览器连接到 MySQL 服务器
- html - 使用 tempdata 属性的 toastr 通知不起作用
- locking - 如何用 webpy 做 DB 或 table 锁
- angular - 从内容 Content-Disposition 下载带有名称的 Angular 文件
- python - 需要帮助使用 tkinter 与多个 MySql 表进行交互
- javascript - 我们什么时候应该/不应该使用 Ember 模型来显示数据?