日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)

發(fā)布時(shí)間:2023/12/2 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java語言操作Oracle數(shù)據(jù)庫中的CLOB數(shù)據(jù)類型 (轉(zhuǎn))[@more@]

有關(guān)字段類型的相關(guān)信息可以查閱oracle技術(shù)網(wǎng)。下面摘抄一些有關(guān)blob.clob等類型的說明。又便于大家的了解。

字段類型:blob,clob,nclob

說明:三種大型(LOB),用來保存較大的圖形或帶格式的文本文件,如Miceosoft 文檔,以及、視頻等非文本文件,最大長度是4GB。LOB有幾種類型,取決于你使用的字節(jié)的類型,Oracle 8i實(shí)實(shí)在在地將這些數(shù)據(jù)在內(nèi)部保存??梢宰x取、存儲(chǔ)、寫入等特殊操作。

我們所操作的clobtest_table中屬性是(字符型id,CLOB型picstr),目前我們假設(shè)一個(gè)大的字符對象str已經(jīng)包含了我們需要存入picstr字段的數(shù)據(jù)。而且connection對象conn已經(jīng)建立。以下的例子也因?yàn)椴幌胝加锰嗟目臻g,所以對拋出異常沒有寫。大家參考一下 doc。就可以知道該拋出什么異常了,此處僅僅告訴大家如何去寫。

代碼:

(1)對數(shù)據(jù)庫clob型執(zhí)行插入操作

*************************************************

..PreparedStatement pstmt = null;

ResultSet rs = null;

String query = "";

conn.setAutoCommit(false);

query = "insert into clobtest_table(id,picstr) values(?,empty_clob())";

java.sql.PreparedStatement pstmt = conn.prepareStatement(query);

pstmt.setString(1,"001");

pstmt.executeUpdate();

pstmt = null

query = " picstr from clobtest_table where id = '001' for update";

pstmt = con.prepareStatement(query)

rs= pstmt.executeQuery();

oracle.sql.CLOB clobtt = null;

if(rs.next()){

clobtt = (oracle.sql.CLOB)rs.getClob(1);

}

Writer wr = clobtt.getCharacterOutputStream();

wr.write(strtmp);

wr.flush();

wr.close();

rs.close();

con.commit();

(2)通過sql/plus查詢是否已經(jīng)成功插入數(shù)據(jù)庫

*************************************************

的包MS_LOB來處理LOB數(shù)據(jù)。察看剛才的插入是否成功。使用DBMS_LOB包的getlength這個(gè)procedure來檢測是否已經(jīng)將str存入到picstr字段中了。如:

SQL> select dbms_lob.getlength(picstr) from clobtest_table;

(3)對數(shù)據(jù)庫clob型執(zhí)行讀取操作

*************************************************

讀取相對插入就很簡單了?;静襟E和一半的取數(shù)據(jù)庫數(shù)據(jù)沒有太大的差別。

String description = ""

query = "select picstr from clobtest_table where id = '001'";

pstmt = con.prepareStatement(query);

ResultSet result = pstmt.executeQuery();

if(result.next()){

oracle...OracleResultSet ors =

(oracle.jdbc.driver.OracleResultSet)result;

oracle.sql.CLOB clobtmp = (oracle.sql.CLOB) ors.getClob(1);

if(clobtmp==null || clobtmp.length()==0){

System.out.println("======CLOB對象為空 ");

description = "";

}else{

description=clobtmp.getSubString((long)1,(int)clobtmp.length());

System.out.println("======字符串形式 "+description);

}

}

總結(jié)

以上是生活随笔為你收集整理的java mysql nclob_java语言操作Oracle数据库中的CLOB数据类型 (转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。