import java.sql.*; import oracle.jdbc.driver.*; public class TemporaryCLOB { // Return a new temporary CLOB public static Clob create(Connection conn) { CallableStatement CS = null; Clob clob = null; try { CS = conn.prepareCall("begin dbms_lob.createtemporary(?,false);end;"); CS.registerOutParameter(1,Types.CLOB); CS.execute(); clob = CS.getClob(1); CS.close(); return clob; } catch (SQLException s) { try { CS.close(); } catch (SQLException s2) { } } return null; } // Free a temporary CLOB public static void free(Connection conn, Clob clob) { PreparedStatement PS = null; try { PS = conn.prepareStatement("begin dbms_lob.freetemporary(?);end;"); PS.setClob(1,clob); int rows = PS.executeUpdate(); PS.close(); } catch (SQLException s) { try { PS.close(); } catch (SQLException s2) { } } } } |