stmt=conn.preparestatement("select t1 from test where c1=? for update");
stmt.setstring(1,"1");
resultset rset=stmt.executequery();
rset.next();
oracle.sql.clob
lclob=(oracle.sql.clob)rset.getclob("t1");
//從clob型獲取寫入流
outputstream writer = lclob.getasciioutputstream();
//將資料寫入clob
writer.write(arg);
//關閉寫入流
writer.close();
//提交等維護工作
conn.commit();
rset.close();
stmt.close();
conn.close();
}//方法二:使用preparedstatement.setstring()方法,比第一種方法簡單清楚太多,
推薦static void writedb(byte arg) throws sqlexception,ioexception
catch (classnotfoundexception e)
conn = drivermanager.getconnection
("jdbc:oracle:thin:@127.0.0.1:1521:student", "hr", "hr");
// @machine:port:sid, userid, password
conn.setautocommit(false);
preparedstatement stmt = conn.preparestatement("insert into test(c1,t1) values ('1',?)");
stmt.setstring(1,new string(arg)); //要用10g以後的ojdbc14.jar
stmt.executeupdate();
conn.commit();
stmt.close();
conn.close();
}//讀資料庫的方法
static byte readdb() throws sqlexception,ioexception
catch (classnotfoundexception e)
conn = drivermanager.getconnection
("jdbc:oracle:thin:@127.0.0.1:1521:student", "hr", "hr");
// @machine:port:sid, userid, password
conn.setautocommit(false);
preparedstatement stmt=conn.preparestatement("select t1 from test where c1=?");
stmt.setstring(1,"1");
resultset rset=stmt.executequery();
rset.next();
string ls=rset.getstring("t1");
byte rslt=ls.getbytes();
rset.close();
stmt.close();
conn.close();
return rslt;
}}
from
用JDBC操縱BLOB和CLOB資料
在訪問oracle 資料庫,對oracle 的blob 和clob 進行操作的時候,當通過oracle jdbc driver 來呼叫的時,如下所例 driver mydriver driver class.forname oracle.jdbc.driver.oracledriver newins...
jdbc操作Blob和Clob欄位與字串的轉換
oracle的資料庫裡對於大字段儲存,通常有3種型別,一種就是所謂的blob型別,另一種就是clob型別,第三種是nclob型別,關於這三者者的使用範圍,應該說沒有嚴格意義上的要求,但大部分場景下我用經常使用blob儲存二進位制資料型別的東西,例如,單子流等,而使用clob來儲存大型文字資料,例如一...
jdbc操作Blob和Clob欄位與字串的轉換
b size large oracle的資料庫裡對於大字段儲存,通常有3種型別,一種就是所謂的blob型別,另一種就是clob型別,第三種是nclob型別,關於這三者者的使用範圍,應該說沒有嚴格意義上的要求,但大部分場景下我用經常使用blob儲存二進位制資料型別的東西,例如,單子流等,而使用clob...