http://www.csdn.net/Expert/TopicView1.asp?id=582553

解决方案 »

  1.   

    <%@ page language="java" %>
    <%@page import="java.sql.*"%>
    <%@page import="oracle.sql.CLOB"%>
    <%@page import="oracle.jdbc.OracleStatement"%>
    <%@page import="oracle.jdbc.OracleResultSet"%>
    <%@page import="java.io.*"%>
    <%@page import="oracle.jdbc.OraclePreparedStatement"%><%@ page contentType="text/html; charset=GB2312" %>
    Clob updata<br>
    *********************************************************<br>
    <%
    String url = "jdbc:oracle:thin:@133.166.200.235:1521:orajp";
    String username = "asset";
    String password = "asset"; try
    {
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
    Connection con = DriverManager.getConnection(url, username, password);
    con.setAutoCommit(false); DatabaseMetaData dma = con.getMetaData(); OraclePreparedStatement stmt = null;
    String sql = null; sql = "select ccc from testclob where id = 1 for update";
    stmt = (OraclePreparedStatement)con.prepareStatement(sql);
    ResultSet rs = stmt.executeQuery(sql);
    rs.next();
    oracle.sql.CLOB clob = (oracle.sql.CLOB)((oracle.jdbc.OracleResultSet)rs).getCLOB("ccc");
    clob = clob.empty_lob();
    stmt.setCLOB(1,clob);
    stmt.executeUpdate(); sql = "select ccc from testclob where id = 1 for update";
    stmt = (OraclePreparedStatement)con.prepareStatement(sql);
    rs = stmt.executeQuery(sql);
    rs.next();
    clob = (oracle.sql.CLOB)((oracle.jdbc.OracleResultSet)rs).getCLOB("ccc");
    java.io.Writer clobWriter = clob.getCharacterOutputStream(); Reader reader = new FileReader(new File("c:\\aa.txt"));
    Writer rr = new FileWriter(new File("c:\\cc.txt"));
    char[] temp = new char[1];
    while (reader.read(temp) != -1) {
    clobWriter.write(temp);
    rr.write(temp);
    } rr.flush();
    rr.close(); clobWriter.flush();
    clobWriter.close();
    rs.close();
    stmt.setCLOB(1,clob);
    stmt.close();
    con.commit();
    con.close();
    }
    catch (SQLException ex)
    {
    while (ex != null)
    {
    System.out.println ("SQLState: " + ex.getSQLState());
    System.out.println ("Message:  " + ex.getMessage());
    System.out.println ("Vendor:   " + ex.getErrorCode());
    ex = ex.getNextException();
    }
    }
    catch (java.lang.Exception ex)
    {
    ex.printStackTrace();
    }
    %>
      

  2.   

    Binary Large Object是JDBC2.0引入的重要数据类型,用于解决你所提出的问题!~