java - com.ibm.db2.jcc.am.SqlException : [jcc][10120][11936][4. 14.88] 无效操作 : Lob is closed. ERRORCODE=-4470,SQLSTATE=null

标签 java jdbc db2 clob

在我们的应用程序中,我们有一个简单的 POJO 类,其中有一个 Clob 属性。

我在获取该 Clob 实体的字符串表示时遇到问题。

假设我已经在 POJO 对象中查询并缓存了结果,现在我正在尝试获取 Clob 的字符串值,如下所示。

int aLength = (int)myPojo.getClobField().length();
String aStringValue = myPojo.getClobField().getSubString(1L, aLength);

但是上面的执行给了我错误,

com.ibm.db2.jcc.am.SqlException: [jcc][10120][11936][4.14.88] 无效操作:Lob 已关闭。 ERRORCODE=-4470,SQLSTATE=null

我错过了什么吗?

最佳答案

这个问题可以通过在连接 url 中添加 progressiveStreaming=2; 参数来解决

完整指定的连接 URL 如下所示:

jdbc:db2://localhost:50000/SAMPLE:progressiveStreaming=2;

如果您对该参数有异常,请向其添加以下内容或添加这些参数的任何一个或组合来修复它:

jdbc:db2://localhost:50000/SAMPLE:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;

优先使用db2jcc4.jar

关于java - com.ibm.db2.jcc.am.SqlException : [jcc][10120][11936][4. 14.88] 无效操作 : Lob is closed. ERRORCODE=-4470,SQLSTATE=null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360721/

相关文章:

linux - 如何以 dasusr 身份登录?

java - 获取标签之间的子字符串

java - 如何从对象的地址计算 hashCode()?

java - 使用 spring 的 SimpleJdbcCall 执行存储函数不给出输出

java - 如何将 MySQL 数据库中的 id 解析为变量

java - ResultSet 关闭后占用 RAM

java - 使用字符串哈希码作为 etag 是否安全

java - BlackBerry - 如何将背景图像放在按钮后面?

java - jdbc 和 z/os db2

sql - 如何从表中获取最后一个插入ID