下面是代码:
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();老是出错导致了这种错误!
您有好的办法吗?
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();老是出错导致了这种错误!
您有好的办法吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货