将大于2 GB的XML文件导入DB2 9.7

时间:2015-05-06 19:19:23

标签: xml db2 db2-luw

我编写了一个Java程序,它在数据库中流式传输大于2GB的XML文件。它适用于Windows上的版本db2版本10.5.5但在以下错误时失败:DB2 Linux 9.7上的SQLCODE = -302,SQLSTATE = 22001,SQLERRMC = null,DRIVER = 4.19.26。 我明白这意味着发送的数据大于列大小。我想知道DB2 9.7是否存在问题,为什么该程序仅适用于10.5,如果是,请建议修复问题。

1 个答案:

答案 0 :(得分:0)

我认为这是因为在DB2 for LUW v10.1之前,XML数据被序列化为字符数据以便在JDBC客户端和服务器之间进行传输,并且序列化XML上的限制为2 GB。从版本10.1开始,默认情况下,XML数据以二进制形式传输,并且序列化限制不适用。

如果您必须使用过时的DB2 v9.7,我认为您可以使用DB2 LOAD命令插入XML文件,如回应您之前的问题所建议的那样。

参考文献:

  1. SQL and XML limits(搜索"序列化的XML")。
  2. 二进制XML格式 - new in DB2 10.1