av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

輕松掌握jdbc操縱Oracle數(shù)據(jù)庫lob字段

瀏覽:52日期:2024-07-07 09:04:38
在Oracle數(shù)據(jù)庫中,lob(large object,大型對象)類型的字段使用的頻率越來越高了。因為這種類型的字段,容量大(最多能容納4gb的數(shù)據(jù)),且一個表中可以有多個這種類型的字段,很靈活,適用于數(shù)據(jù)量非常大的業(yè)務(wù)領(lǐng)域(如圖象、檔案等)。而long、long raw等類型的字段,雖然存儲容量也不小(可達2gb),但由于一個表中只能有一個這樣類型的字段的限制,現(xiàn)在已很少使用了。lob類型分為blob和clob兩種:blob即二進制大型對象(binary large object),適用于存貯非文本的字節(jié)流數(shù)據(jù)(如程序、圖象、影音等)。而clob,即字符型大型對象(character largeobject),則與字符集相關(guān),適于存貯文本型的數(shù)據(jù)(如歷史檔案、大部頭著作等)。下面以程序?qū)嵗f明通過jdbc操縱oracle數(shù)據(jù)庫lob類型字段。先建立如下兩個測試用的數(shù)據(jù)庫表,power designer pd模型如下:建表sql語句為:create table test_clob ( id number(3), clobcol clob) create table test_blob ( id number(3), blobcol blob)lob對象的存取1、往數(shù)據(jù)庫中插入一個新的clob對象public static void clobinsert(string infile) throws exception { /* 設(shè)定不自動提交 */ 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對象中寫入數(shù)據(jù) */ 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; } /* 恢復(fù)原提交狀態(tài) */ conn.setautocommit(defaultcommit); }2、修改clob對象(是在原clob對象基礎(chǔ)上進行覆蓋式的修改)public static void clobmodify(string infile) throws exception { /* 設(shè)定不自動提交 */ 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; } /* 恢復(fù)原提交狀態(tài) */ conn.setautocommit(defaultcommit); }
標(biāo)簽: JDBC
主站蜘蛛池模板: 中文字幕一区二区三区在线观看 | 一区二区日韩 | 国产aaaaav久久久一区二区 | 欧美日本韩国一区二区 | 欧美一级片黄色 | 亚洲精品久久久久久一区二区 | 一级做a毛片 | 久久免费精品视频 | 99视频在线看 | 免费h在线 | 成人免费精品视频 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 人操人免费视频 | 激情一区二区三区 | 久久的色| 超碰97人人人人人蜜桃 | 久久久久精 | 亚洲人成在线播放 | 狠狠综合久久av一区二区小说 | 鲁大师一区影视 | 一区二区三区四区在线视频 | 特级毛片爽www免费版 | 亚洲精品成人 | 成人a视频片观看免费 | 久草.com| 在线播放国产一区二区三区 | 自拍偷拍精品 | 精品一区二区三区四区 | 瑟瑟视频在线看 | 亚洲一区二区三区欧美 | 免费1区2区3区 | 99亚洲精品| 成人午夜性成交 | 欧美激情亚洲天堂 | 免费国产视频在线观看 | 亚洲免费精品 | 国产亚洲欧美在线视频 | 免费亚洲成人 | 欧美影院 | 国产成人精品一区二区 | 日韩在线欧美 |