用jdbc操作CLOB型資料的兩種方式

2021-09-01 03:15:19 字數 1847 閱讀 4203

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...