DB2 将 CLOB (>16Mb) 保存到 IFS 中



我正在尝试将字段(CLOB)的内容保存到IFS(iSeries)上的文件中。

保存内容之前,该文件不存在,并且文件创建得很完美,但我不知道为什么在开头(总是位置 1 和 2)文件包含两个奇怪的字符。这个角色并不总是相同的。

我认为这是 clob 字段和文件之间的转换问题(ifs - smtf)有人如何解决这个问题吗?

提前感谢!!

PD.:对不起,我无法附加图片,因为我至少需要 10 个声誉才能发布图片。


RPGLE 中的可变定义

D xmlEntrada      s                   sqltype(CLOB:10000000)
fd = open('/folder/file/file.xml': 
O_WRONLY+O_CREAT+O_TRUNC: 
O_RDWR : 819);                                                
callp write(fd: %addr(xmlEntrada)+2: %len(xmlEntrada));

英文RPG手册称之为"长度前缀"。 对于介于 1 和 63353 字节之间的变量,这是 2 个字节,对于较大的变量,这是 4 个字节。 将 write() 更改为:

write(fd: %addr(xmlEntrada: *DATA): %len(xmlEntrada));

并让编译器确定长度前缀大小。

如果在早期版本中,请尝试

write(fd: %addr(xmlEntrada)+4: %len(xmlEntrada));

相关内容

  • 没有找到相关文章

最新更新