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

时间:2014-11-29 14:16:57

标签: xml db2 ibm-midrange rpgle ibm-ifs

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

在保存内容之前文件不存在并且文件创建完美,但我不知道为什么在开头(始终位置1和2)文件包含两个奇怪的字符。这个特征并不总是一样的。

我认为这是clob字段与文件之间转换的问题(ifs - smtf) 有谁怎么解决这个问题?

提前致谢!!

PD.:Sorry,我没有附上图片,因为我需要至少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));

1 个答案:

答案 0 :(得分:2)

English RPG manual将此称为'长度前缀'。对于1到63353字节之间的变量,这是2个字节,对于较大的变量,这是4个字节。将write()更改为:

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

并让compiler determine the length-prefix size

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

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