我的源代码如下:这里用的是oracle 10,只是java操作它,与tomcat无关,就是编译时有问题:package oracle.sql does not exist.oracle.sql.CLOB clob=(oracle.sql.CLOB)obj;
驱动是装了的,因为statement,preparedstatement操作number,varchar2类型数据都正常的.
import java.sql.*;
import java.io.*;public class test11_2
{
  public static void main(String[] args)throws Exception
  {
    Connection conn=null;
    //DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String url="jdbc:oracle:oci8:@";
    conn=DriverManager.getConnection(url,"system","123456");
    conn.setAutoCommit(false);
    File file1=new File("test11_2.java");
    Statement st=conn.createStatement();
    String strSql="insert into clob_table values(file_seq,'first',EMPTY_CLOB())";
    String strID="select file_seq.curval from dual";
    st.executeUpdate(strSql);
    ResultSet rsid=st.executeQuery(strID);
    rsid.next();
    int id=rsid.getInt("CURRVAL");
    rsid.close();
    String strSql1="select data from clob_table where id=id for update";
    ResultSet rs=st.executeQuery(strSql1);
    while(rs.next())
    {
       Object obj=rs.getClob("data");
       oralce.sql.CLOB clob=(oracle.sql.CLOB)obj;
       BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream());
       BufferedReader in=new BufferedReader(new FileReader(file1));
       int c;
       while((c=in.read())!=-1)
       {
         out.write(c);
        }
       in.close();
       out.close();
    }
    conn.commit();
    rs.close();
    st.close();
   }
}