【问题标题】:storing large xml in db2 xml data type以 db2 xml 数据类型存储大型 xml
【发布时间】:2017-03-11 05:36:10
【问题描述】:

我们有一个包含 10 列的表,其中一列是 xml 类型。 我在 db 可视化器中编写了一个插入语句,并尝试在插入语句中插入一条包含所有内联值的记录,它给出了以下错误 DB2 SQL 错误:SQLCODE=-102,SQLSTATE=54002,

我尝试通过将 col 类型更改为 clob 并尝试 XMLPARSE,如下面的链接所示,但问题仍然存在,请您帮忙。: http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0022191.html

【问题讨论】:

  • 请提供有关表和 SQL 语句的更多详细信息。错误表示字符串常量太长。
  • 创建表 test1 (col1 xml);
  • 插入 test1 值(' ..........big xml of size 180kb ....');
  • 不知道错误是因为整个insert语句太大还是insert查询中xml值太大。
  • 你是用哪个接口插入的?命令行,JDBC/ODBC,...?

标签: xml insert db2


【解决方案1】:

我编写了一个 java 程序来使用 jdbc 运行插入,它运行良好。 我必须从 xml 中删除制表符、换行符和转义双引号,才能将其分配给字符串变量。

【讨论】:

    【解决方案2】:

    基于 SQL 错误,您使用的方法限制为 32k 的文本数据。

    我在 IBM 知识中心找到了另一个可能有帮助的参考资料。

    将 XML 放入流文件中,然后使用 IMPORT 命令将数据输入到文件中。

    摘自IBM DB2 Importing XML Data

    将数据导入 XML 表列时,您可以使用 XML FROM 选项来指定输入 XML 数据文件的路径。例如,对于之前导出的 XML 文件“/home/user/xmlpath/xmldocs.001.xml”,可以使用以下命令将数据导入回表中。

    从 /home/user/xmlpath 插入到 USER.T1 的 DEL XML 的 t1export.del 导入

    【讨论】:

    • 您好,请您解释一下上述命令中的 t1export.del、DEL 和 USER.T1 是什么。我也不确定“将 XML 放入流文件”是什么意思。请您详细说明。
    • 我将 xml 文件复制到 /home 目录并在 putty db2 IMPORT FROM t1export.del OF DEL XML FROM /home INSERT INTO TEST2 中运行以下命令 我的表 TEST2 有一个类型为 xml 的列不工作
    • 从 Import 命令的语法来看:“of DEL”标识文件类型。 “XML FROM ”标识 xml 路径。 “USER.T1”标识表名“点”列名。 import command
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多