我们正在与mule和db2合作开发poc。我们正在尝试通过存储过程将2MB的数据作为CLOB数据类型插入到表中,如果我们发布的clob数据小于或等于1MB,则可以正常工作。问题是,当我们在存储过程中签名的主机变量中发布1个MB+数据时,就会出现超出范围的错误。请在下面找到错误详细信息。有没有人能建议。
代码:-
<db:stored-procedure config-ref="Configuration" doc:name="Database">
<db:parameterized-query>
<![CDATA[{CALL TEST(:testData, :OutParam)}]]>
</db:parameterized-query>
<db:in-param name="testData" type="CLOB" value="<<2MB of data>>"/>
<db:out-param name="OutParam" type="BIGINT"/>
</db:stored-procedure>错误
DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.9.110 (com.ibm.db2.jcc.am.SqlDataException).发布于 2018-01-26 20:42:26
我将采用Ian的答案,如下所示。
CREATE PROCEDURE TEST(IN testData CLOB(2M), OUT OutParam VARCHAR(10))
LANGUAGE SQL
BEGIN
declare var1 int=1;
INSERT INTO TESTING(Payload) values (testData);
COMMIT;
set OutParam = var1;
ENDhttps://stackoverflow.com/questions/48407945
复制相似问题