gpt4 book ai didi

database - 无法将 CLOB 数据存储到 DB2 中的 CLOB 定义列中

转载 作者:搜寻专家 更新时间:2023-10-30 23:34:28 29 4
gpt4 key购买 nike

我猜这是一个反复出现的问题,但还没有找到合适的解决方案。基本上,我试图通过 DB2 过程将有点大的 XML,即 32000 多个字符插入到 CLOB 列中。插入失败并显示以下错误看起来 DB2 正在将输入视为字符串而不是 CLOB 数据类型。您能建议需要做什么吗?

SP

CREATE OR REPLACE PROCEDURE logging (IN HEADERDATA CLOB(10M))
LANGUAGE SQL
BEGIN
INSERT INTO Logging(Header) VALUES (HEADERDATA);
COMMIT;
END

错误

The string constant beginning with 
"'<?xml version="1.0" encoding="UTF-8"?><XXXXXXXX xmlns:xsi="http:" is too long..
SQLCODE=-102, SQLSTATE=54002, DRIVER=XXXXXX

最佳答案

DB2 中的字 rune 字限制为大约 32K 字节。要处理更大的 LOB,您需要避免使用 SQL 文字值。

无需额外编程即可完成此操作的一种方法是将 [future] CLOB 内容写入文件并使用 IMPORTLOAD 将其内容插入到列中。

或者,您可以围绕您的过程调用包装一个简单的 Java 程序,您将在其中使用 PreparedStatement.setClob() 来处理您的大型 XML 文档。

关于database - 无法将 CLOB 数据存储到 DB2 中的 CLOB 定义列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44871254/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com