Using Java to access Oracle CLOB type in the word

  Import java.sql .*; 
  Import java.io. *; 
  Import oracle.jdbc.driver.OracleResultSet; 
  Import oracle.sql.CLOB; 

  Public class TestOracleClob implements Serializable ( 
  Public static void main (String [] args) 
  ( 
  / / Create table test (id integer, content clob); 
  System.out.println ("——————- insert —————–"); 
  Try ( 
  Class.forName ( "oracle.jdbc.driver.OracleDriver"); 
  Connection con = DriverManager.getConnection ( "jdbc: oracle: thin: @ fangm: 1521: LICSFC," "SFC", "SFC"); 
  / / Con.setAutoCommit (false); 
  / / Ok
  String sql = "insert into test values (1, empty_clob ())"; 
  Statement stmt = con.createStatement (); 
  ResultSet rs = stmt.executeQuery (sql); 
  String sqll = "select content from test where id = 1 for update"; 
  ResultSet rss = stmt.executeQuery (sqll); 
  If (rss.next ()) ( 
  CLOB clob = ((OracleResultSet) rss). GetCLOB (1); 
  Clob.putString (1, "ddddddddddddddddddddddddddddddddddd"); 
  Sql = "update test set content =? Where id = 1"; 
  PreparedStatement pstmt = con.prepareStatement (sql); 
  Pstmt.setClob (1, clob); 
  Pstmt.executeUpdate (); 
  Pstmt.close (); 
  ) 
  / / Ok
  / / String sql1 = "insert into test values (2, empty_clob ())"; 
  / / ResultSet rs3 = stmt.executeQuery (sql1); 
  String sql12 = "insert into test values (?,?)"; 
  PreparedStatement pstmt1 = con.prepareStatement (sql12); 
  Pstmt1.setInt (1,2); 
  Pstmt1.setClob (2, oracle.sql.CLOB.empty_lob ()); 
  Pstmt1.executeUpdate (); 
  String sqll2 = "select content from test where id = 2 for update"; 
  ResultSet rss2 = stmt.executeQuery (sqll2); 
  If (rss2.next ()) ( 
  CLOB clob = ((OracleResultSet) rss2). GetCLOB (1); 
  Clob.putString (1, "affffffffffdfdfdfdddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddfff"); 
  String sql1 = "update test set content =? Where id = 2"; 
  PreparedStatement pstmt = con.prepareStatement (sql1); 
  Pstmt.setClob (1, clob); 
  Pstmt.executeUpdate (); 
  Pstmt.close (); 
  ) 
  / / Con.commit (); 
  Rss.close (); 
  Rss2.close (); 
  Pstmt1.close (); 
  Rs.close (); 
  Stmt.close (); 
  Con.close (); 
  System.out.println ————- ("————- insert ok "); 
  ) Catch (Exception e) ( 
  System.out.println ( "insert:" + e); 
  ) 
  System.out.println ("——————- query —————–"); 
  Try ( 
  String content = ""; 
  Class.forName ( "oracle.jdbc.driver.OracleDriver"); 
  Connection con = DriverManager.getConnection ( "jdbc: oracle: thin: @ fangm: 1521: LICSFC," "SFC", "SFC"); 
  Statement stmt = con.createStatement (); 
  String sql = "select content from test where id = 1"; 
  ResultSet rs = stmt.executeQuery (sql); 
  If (rs.next ()) ( 
  CLOB clob = ((OracleResultSet) rs). GetCLOB (1); 
  If (clob! = Null) ( 
  Reader is clob.getCharacterStream = (); 
  BufferedReader br = new BufferedReader (is); 
  String s = br.readLine (); 
  While (s! = Null) ( 
  Content + = s +","; 
  S = br.readLine (); 
  ) 
  ) 

  ) 
  Rs.close (); 
  Stmt.close (); 
  Con.close (); 
  System.out.println ( "clob:" + content); 
  System.out.println ————- ("————- query ok "); 
  ) Catch (Exception ee) ( 
  System.out.println ( "query:" + ee); 
  ) 

  ) 
  ) 

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • DotNetKicks
  • DZone
  • Netvouz
  • Propeller

Tags: , ,

Releated Java Articles

Comments

Leave a Reply