java - Lob 已关闭。错误代码=-4470,SQLSTATE=null

标签 java jakarta-ee db2 websphere-commerce

我正在使用 IBM websphere commerce 和 db2,有以下代码

Clob clobVar = null;
if (result.elementAt(3) != null)
    clobVar = (Clob) result.elementAt(3);

if (clobVar == null) {
    infoTable.put("EInfo", "");
} else {
    stringTemp = clobVar.getSubString(1, (int) clobVar.length());
    infoTable.put("EInfo", stringTemp); 
}

代码工作正常直到

clobVar = (Clob) result.elementAt(3);

但是一旦执行到了

stringTemp = clobVar.getSubString(1, (int) clobVar.length());

系统抛出异常

[jcc][10120][11936][4.3.111] 无效操作:Lob 已关闭。 ERRORCODE=-4470, SQLSTATE=null

我做错了什么?

如何解决这个问题?

最佳答案

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

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

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

如果您对该参数有异常(exception),请向其添加以下内容:

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

优先使用db2jcc4.jar

关于java - Lob 已关闭。错误代码=-4470,SQLSTATE=null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659970/

相关文章:

Java:计算数组中的每个数字

java - 是否可以在java Web应用程序中获取客户端操作系统用户名?

hibernate - 如何使用 JPA 编写生产者-消费者

java - 如何装饰 PerConnectionWebSocketHandler 中的 websocket 处理程序?

sql - 令人困惑的 SQL。简短但奇怪

db2 - 如何将 Power BI 连接到 IBM DB2

java - 如何在 Java 中使用枚举复制构造函数?

java - 使用 Java 进行左旋转

java - 在 Hibernate 实体类 getter 中返回一个新的 Collection 是否安全?

java - 跨 DB2 和 Oracle 数据库连接信息最佳实践