java語言操作Oracle資料庫中的CLOB資料型別 (轉)
有關欄位型別的相關資訊可以查閱oracle技術網。下面摘抄一些有關blob.clob等型別的說明。又便於大家的瞭解。
欄位型別:blob,clob,nclob
說明:三種大型(LOB),用來儲存較大的圖形或帶格式的文字檔案,如Miceosoft 文件,以及、影片等非文字檔案,最大長度是4GB。LOB有幾種型別,取決於你使用的位元組的型別,Oracle 8i實實在在地將這些資料在內部儲存。可以讀取、儲存、寫入等特殊操作。
我們所操作的clobtest_table中屬性是(字元型id,CLOB型picstr),目前我們假設一個大的字元物件str已經包含了我們需要存入picstr欄位的資料。而且connection物件conn已經建立。以下的例子也因為不想佔用太多的空間,所以對丟擲異常沒有寫。大家參考一下 doc。就可以知道該丟擲什麼異常了,此處僅僅告訴大家如何去寫。
程式碼:
(1)對資料庫clob型執行插入操作
*************************************************
..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查詢是否已經成功插入資料庫
*************************************************
的包MS_LOB來處理LOB資料。察看剛才的插入是否成功。使用DBMS_LOB包的getlength這個procedure來檢測是否已經將str存入到picstr欄位中了。如:
SQL> select dbms_lob.getlength(picstr) from clobtest_table;
(3)對資料庫clob型執行讀取操作
*************************************************
讀取相對插入就很簡單了。基本步驟和一半的取資料庫資料沒有太大的差別。
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);
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-977240/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- go語言資料型別轉換Go資料型別
- 【轉】ORACLE資料型別Oracle資料型別
- 資料庫操作語言DDL資料庫
- go語言——資料型別Go資料型別
- C語言資料型別C語言資料型別
- 資料庫學習(二)資料操作語言:資料庫
- Oracle資料型別對應Java型別Oracle資料型別Java
- SQL資料庫操作語言DCLSQL資料庫
- Java中的基本資料型別與引用資料型別Java資料型別
- 【Java】資料型別轉換Java資料型別
- go語言資料型別-基礎型別Go資料型別
- Java中的資料型別Java資料型別
- JDBC 處理CLob和Blob型別資料JDBC型別
- Java資料型別及型別轉換Java資料型別
- Oracle資料庫日期格式轉換操作Oracle資料庫
- MySQL 資料庫的對庫的操作及其資料型別悔鋒MySql資料庫資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- 基於C#語言Oracle.ManagedDataAccess操作Oracle資料庫連線語句C#Oracle資料庫
- Python語言的全部資料型別分享!Python資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- C語言 列舉資料型別C語言資料型別
- Oracle 資料型別Oracle資料型別
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- 2、java資料型別轉換Java資料型別
- 強型別語言變數和資料型別的理解變數資料型別
- Oracle的number資料型別Oracle資料型別
- 6.Go語言基本資料型別Go資料型別
- C語言-變數常量資料型別C語言變數資料型別
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- JS中資料型別轉換JS資料型別
- Oracle anydata資料型別Oracle資料型別
- ORACLE NUMBER資料型別Oracle資料型別
- scala和java資料型別轉換Java資料型別
- Java資料型別自動轉換(++ ,+=)Java資料型別
- MyBatis Java 和 資料庫 資料型別對應表MyBatisJava資料庫資料型別
- 資料型別,型別轉換資料型別
- 值得白嫖的資料庫常用操作語句彙總(資料庫、資料表、資料操作)資料庫
- 3. php資料型別、資料型別轉換PHP資料型別
- Java資料型別Java資料型別