国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

java語言操作Oracle數據庫中的CLOB數據類型

2024-08-29 13:33:09
字體:
來源:轉載
供稿:網友

  字段類型:blob,clob,nclob
  說明:三種大型對象(LOB),用來保存較大的圖形文件或帶格式的文本文件,如Miceosoft Word文檔,以及音頻、視頻等非文本文件,最大長度是4GB。LOB有幾種類型,取決于你使用的字節的類型,Oracle 8i實實在在地將這些數據存儲在數據庫內部保存。可以執行讀取、存儲、寫入等非凡操作。
  
  我們所操作的cloBTest_table中屬性是(字符型id,CLOB型picstr),目前我們假設一個大的字符對象str已經包含了我們需要存入picstr字段的數據。而且connection對象conn已經建立。以下的例子程序也因為不想占用太多的空間,所以對拋出異常沒有寫。大家參考一下api doc。就可以知道該拋出什么異常了,此處僅僅告訴大家如何去寫。
  
  代碼:
  
  
  (1)對數據庫clob型執行插入操作
  *************************************************
  
  java.sql.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 = "select 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查詢是否已經成功插入數據庫
  *************************************************
  
  PL/SQL的包DBMS_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.jdbc.driver.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);
   }
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈巴河县| 东乌珠穆沁旗| 大方县| 库车县| 衡水市| 文成县| 连山| 孟州市| 新宾| 金乡县| 环江| 新化县| 砚山县| 巧家县| 美姑县| 鱼台县| 轮台县| 独山县| 新邵县| 商河县| 临漳县| 慈利县| 东兰县| 长治县| 平南县| 武邑县| 常州市| 赣州市| 疏勒县| 罗甸县| 勐海县| 都兰县| 陇西县| 赣州市| 潞城市| 固原市| 九江市| 河东区| 阳城县| 雅安市| 黄骅市|