Database 无法将CLOB数据存储在DB2中的CLOB定义列中

Database 无法将CLOB数据存储在DB2中的CLOB定义列中,database,db2,clob,Database,Db2,Clob,我想这是一个反复出现的问题,但还没有找到合适的解决方案。基本上,我正在尝试通过DB2过程向CLOB列中插入一些巨大的XML,即32000多个字符。插入失败,出现以下错误:DB2将输入视为字符串而不是CLOB数据类型。你能建议一下需要做什么吗 SP 错误 以开头的字符串常量 “DB2中的字符文本限制在32K字节左右。要处理较大的LOB,需要避免使用SQL文本值 一种不用额外编程的方法是将[future]CLOB内容写入文件,然后使用IMPORT或LOAD将其内容插入列中 或者,您也可以在过程调用周

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

SP

错误

以开头的字符串常量

“DB2中的字符文本限制在32K字节左右。要处理较大的LOB,需要避免使用SQL文本值

一种不用额外编程的方法是将[future]CLOB内容写入文件,然后使用
IMPORT
LOAD
将其内容插入列中


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

请展示如何调用存储过程。调用日志(“”)在IBMDataStudio.JFYI中运行这个匿名块。谢谢,我可以使用调用日志(“?”)之类的主机变量运行。我将尝试使用您所说的Java代码,然后恢复。
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