LOB 定位器无法扩展事务处理

swellyu 2004-07-26 09:32:14
hi, everyone!

谁能结局这个问题呀?!

java.io.IOException: ORA-22990: LOB 定位器无法扩展事务处理
ORA-06512: 在"SYS.DBMS_LOB", line 708
ORA-06512: 在line 1


Start server side stack trace:
java.io.IOException: ORA-22990: LOB 定位器无法扩展事务处理
ORA-06512: 在"SYS.DBMS_LOB", line 708
ORA-06512: 在line 1

at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:531)
at oracle.jdbc.driver.OracleClobWriter.flushBuffer(OracleClobWriter.java:181)
at oracle.jdbc.driver.OracleClobWriter.write(OracleClobWriter.java:121)
at java.io.Writer.write(Writer.java:104)
at weblogic.jdbc.common.internal.JDBCWriterImpl.writeBlock(JDBCWriterImpl.java:46)
at weblogic.jdbc.common.internal.JDBCWriterImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
End server side stack trace

...全文
100 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
swellyu 2004-07-26
  • 打赏
  • 举报
回复
下面是代码:
boolean rtnBz = false;
pstmt = null;
ResultSet rs = null;

try {
pstmt = conn.prepareStatement(insertSql, 1004, 1008);
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
pstmt = conn.prepareStatement(querySql, 1004, 1007);
rs = pstmt.executeQuery();
Writer wr = null;
if (rs != null && rs.next()) {
Clob clobt1 = rs.getClob(1);
wr = ( (weblogic.jdbc.rmi.SerialOracleClob) clobt1).getCharacterOutputStream();
wr.write(content);
wr.flush();
wr.close();
rtnBz = true;
}
}
catch (Exception e) { //SQLException
rtnBz = false;
throw new SQLExecuteException(e.getMessage());
}
finally {
if (rs != null) {
try {
rs.close();
}
catch (Exception e) {
log.error(methodNm, e.getMessage(), e);
}
rs = null;
}
if (pstmt != null) {
try {
pstmt.close();
}
catch (SQLException ex1) {
throw new SQLExecuteException(ex1.getMessage());
}
pstmt = null;
}
return rtnBz;
}

如果weblogic刚启动时,很正常的。执行几遍后,wr.flush();老是出错导致了这种错误!
您有好的办法吗?
jxc 2004-07-26
  • 打赏
  • 举报
回复
你的代码是怎样写的?

17,087

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧