亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

輕松掌握jdbc操縱Oracle數據庫lob字段

瀏覽:61日期:2024-07-07 09:04:38
在Oracle數據庫中,lob(large object,大型對象)類型的字段使用的頻率越來越高了。因為這種類型的字段,容量大(最多能容納4gb的數據),且一個表中可以有多個這種類型的字段,很靈活,適用于數據量非常大的業務領域(如圖象、檔案等)。而long、long raw等類型的字段,雖然存儲容量也不小(可達2gb),但由于一個表中只能有一個這樣類型的字段的限制,現在已很少使用了。lob類型分為blob和clob兩種:blob即二進制大型對象(binary large object),適用于存貯非文本的字節流數據(如程序、圖象、影音等)。而clob,即字符型大型對象(character largeobject),則與字符集相關,適于存貯文本型的數據(如歷史檔案、大部頭著作等)。下面以程序實例說明通過jdbc操縱oracle數據庫lob類型字段。先建立如下兩個測試用的數據庫表,power designer pd模型如下:建表sql語句為:create table test_clob ( id number(3), clobcol clob) create table test_blob ( id number(3), blobcol blob)lob對象的存取1、往數據庫中插入一個新的clob對象public static void clobinsert(string infile) throws exception { /* 設定不自動提交 */ boolean defaultcommit = conn.getautocommit(); conn.setautocommit(false); try { /* 插入一個空的clob對象 */ stmt.executeupdate('insert into test_clob values (’111’, empty_clob())'); /* 查詢此clob對象并鎖定 */ resultset rs = stmt.executequery('select clobcol from test_clob where id=’111’ for update'); while (rs.next()) { /* 取出此clob對象 */ oracle.sql.clob clob = (oracle.sql.clob)rs.getclob('clobcol'); /* 向clob對象中寫入數據 */ bufferedwriter out = new bufferedwriter(clob.getcharacteroutputstream()); bufferedreader in = new bufferedreader(new filereader(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (exception ex) { /* 出錯回滾 */ conn.rollback(); throw ex; } /* 恢復原提交狀態 */ conn.setautocommit(defaultcommit); }2、修改clob對象(是在原clob對象基礎上進行覆蓋式的修改)public static void clobmodify(string infile) throws exception { /* 設定不自動提交 */ boolean defaultcommit = conn.getautocommit(); conn.setautocommit(false); try { /* 查詢clob對象并鎖定 */ resultset rs = stmt.executequery('select clobcol from test_clob where id=’111’ for update'); while (rs.next()) { /* 獲取此clob對象 */ oracle.sql.clob clob = (oracle.sql.clob)rs.getclob('clobcol'); /* 進行覆蓋式修改 */ bufferedwriter out = new bufferedwriter(clob.getcharacteroutputstream()); bufferedreader in = new bufferedreader(new filereader(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (exception ex) { /* 出錯回滾 */ conn.rollback(); throw ex; } /* 恢復原提交狀態 */ conn.setautocommit(defaultcommit); }
標簽: JDBC
主站蜘蛛池模板: 女人张开腿 让男人桶视频 女人张开腿等男人桶免费视频 | 亚洲精品线在线观看 | 亚洲欧洲日产国码二区首页 | 成人深夜福利在线播放不卡 | 欧美激情国产一区在线不卡 | 美女全黄视频 | 九草网| 中文字幕免费在线视频 | 欧美一级影院 | 色偷偷88欧美精品久久久 | 一级待一黄aaa大片在线还看 | 国内自拍网红在线综合 | 国产一级一片免费播放视频 | 日韩一区二区三区四区不卡 | 国产在线欧美精品 | 草久视频在线 | 成人免费大片黄在线观看com | 福利社在线 | 欧美一级特黄aaaaaa在线看片 | 欧美一级毛片欧美一级成人毛片 | 大看蕉a在线观看 | 国产最新网站 | 美女叉开腿让男人捅 | 男人操女人逼逼视频 | 另类亚洲孕妇分娩网址 | 亚洲视屏在线 | 精品精品国产欧美在线观看 | 午夜宅男在线永远免费观看网 | 欧美一级www毛片 | 国产网站精品 | 美女和男人免费网站视频 | 在线观看不卡一区 | 亚洲精品亚洲人成在线麻豆 | 国产亚洲欧美在线人成aaaa | 亚洲国产日韩欧美一区二区三区 | 亚洲免费在线观看视频 | 亚洲七七久久精品中文国产 | 俄罗斯aa毛片极品 | 亚洲欧美久久精品 | 中文国产成人精品久久一区 | 亚洲成在 |