在我们的应用程序中,我们有一个简单的 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/