java代码:
 
String sql="SELECT BBSCONTENT FROM FOCUSBBS WHERE ID="+ID+" FOR UPDATE";
   try {
       Connection conn= DBInterfaceImpl.getInstance().getConnection();
       conn.setAutoCommit(false);  
Statement st = conn.createStatement();
st.executeUpdate("UPDATE FOCUSBBS SET BBSCONTENT=EMPTY_CLOB() WHERE ID="+ID+""); 
         ResultSet rst = st.executeQuery(sql); 
if (rst.next())       
 {       
   //得到java.sql.Clob对象后强制转换为oracle.sql.CLOB       
   oracle.sql.CLOB clob = (oracle.sql.CLOB) rst.getClob("BBSCONTENT");       
   Writer outStream = clob.getCharacterOutputStream();       
   //bbsContent是传入的字符串,定义:String bbsContent
   char[] c = bbsContent.toCharArray();       
  try {
    outStream.write(c, 0, c.length);
    outStream.flush();       
    outStream.close();
    conn.commit(); 
    conn.close();
     } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
     }  
   
  }       
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
      }  
使用上面代码进行修改的,但程序运行到st.executeUpdate("UPDATE FOCUSBBS SET BBSCONTENT=EMPTY_CLOB() WHERE URL='"+url+"'"); 时就卡在那不动了,执行不下去。使用alter system kill session 'sid,serial#'把会话终止后,在pl/sql里运行UPDATE FOCUSBBS SET BBSCONTENT=EMPTY_CLOB() WHERE ID=11;还是一样状况,就死在那不动了。有没有人知道怎么解决这一问题啊???