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 1
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 2
/ / 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);
)
)
)
Tags: Clob, java access, java oracle






