日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

展示JDBC存取ORACLE大型數(shù)據(jù)對象LOB幾種情況的示范類

瀏覽:28日期:2024-07-06 18:29:38
;展示JDBC存取Oracle大型數(shù)據(jù)對象LOB幾種情況的示范類import Java.io.*;import java.util.*;import java.sql.*;public class LobPros{;/** * ORACLE驅(qū)動程序 */ private static final String DRIVER = 'oracle.jdbc.driver.OracleDriver';;/** * ORACLE連接用URL */ private static final String URL = 'jdbc:oracle:thin:@test2000:1521:orac';;/** * 用戶名 */ private static final String USER = 'user';;/** * 密碼 */ private static final String PASSWord = 'pswd';;/** * 數(shù)據(jù)庫連接 */ private static Connection conn = null;;/** * SQL語句對象 */ private static Statement stmt = null;;/** * @roseuid 3EDA089E02BC */ public LobPros() {;};/** * 往數(shù)據(jù)庫中插入一個新的CLOB對象 * * @param infile - 數(shù)據(jù)文件 * @throws java.lang.Exception * @roseuid 3EDA04A902BC */ 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 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; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * 修改CLOB對象(是在原CLOB對象基礎(chǔ)上進行覆蓋式的修改) * * @param infile - 數(shù)據(jù)文件 * @throws java.lang.Exception * @roseuid 3EDA04B60367 */ 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 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; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * 替換CLOB對象(將原CLOB對象清除,換成一個全新的CLOB對象) * * @param infile - 數(shù)據(jù)文件 * @throws java.lang.Exception * @roseuid 3EDA04BF01E1 */ public static void clobReplace(String infile) throws Exception { /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false);;;;;;try { /* 清空原CLOB對象 */ ;stmt.executeUpdate('UPDATE TEST_CLOB SET CLOBCOL=EMPTY_CLOB() WHERE ID='111''); /* 查詢CLOB對象并鎖定 */ ResultSet rs = stmt.executeQuery('SELECT CLOBCOL FROM TEST_CLOB WHERE FOR UPDATE'); while (rs.next()) { /* 獲取此CLOB對象 */ oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob('CLOBCOL'); /* 更新數(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; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * CLOB對象讀取 * * @param outfile - 輸出文件名 * @throws java.lang.Exception * @roseuid 3EDA04D80116 */ public static void clobRead(String outfile) throws Exception ;{ /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false);;;;;;try { /* 查詢CLOB對象 */ ResultSet rs = stmt.executeQuery('SELECT * FROM TEST_CLOB WHERE ID='111''); while (rs.next()) { /* 獲取CLOB對象 */ oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob('CLOBCOL'); /* 以字符形式輸出 */ BufferedReader in = new BufferedReader(clob.getCharacterStream()); BufferedWriter out = new BufferedWriter(new FileWriter(outfile)); int c; while ((c=in.read())!=-1) { out.write(c); } out.close(); in.close(); } } catch (Exception ex) { conn.rollback(); throw ex; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * 向數(shù)據(jù)庫中插入一個新的BLOB對象 * * @param infile - 數(shù)據(jù)文件 * @throws java.lang.Exception * @roseuid 3EDA04E300F6 */ public static void blobInsert(String infile) throws Exception { /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); ;;;;;conn.setAutoCommit(false);;;;;;try { /* 插入一個空的BLOB對象 */ stmt.executeUpdate('INSERT INTO TEST_BLOB VALUES ('222', EMPTY_BLOB())'); /* 查詢此BLOB對象并鎖定 */ ResultSet rs = stmt.executeQuery('SELECT BLOBCOL FROM TEST_BLOB WHERE FOR UPDATE'); while (rs.next()) { /* 取出此BLOB對象 */ oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob('BLOBCOL'); /* 向BLOB對象中寫入數(shù)據(jù) */ BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream()); BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (Exception ex) { /* 出錯回滾 */ conn.rollback(); throw ex; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * 修改BLOB對象(是在原BLOB對象基礎(chǔ)上進行覆蓋式的修改) * * @param infile - 數(shù)據(jù)文件 ;;* @throws java.lang.Exception * @roseuid 3EDA04E90106 */ public static void blobModify(String infile) throws Exception { /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false);;;;;;try { /* 查詢BLOB對象并鎖定 */ ResultSet rs = stmt.executeQuery('SELECT BLOBCOL FROM TEST_BLOB WHERE FOR UPDATE'); while (rs.next()) { /* 取出此BLOB對象 */ oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob('BLOBCOL'); /* 向BLOB對象中寫入數(shù)據(jù) */ BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream()); BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (Exception ex) { /* 出錯回滾 */ conn.rollback(); throw ex; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); ;};/** * 替換BLOB對象(將原BLOB對象清除,換成一個全新的BLOB對象) * * @param infile - 數(shù)據(jù)文件 * @throws java.lang.Exception * @roseuid 3EDA0505000C */ public static void blobReplace(String infile) throws Exception { /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false);;;;;;try { /* 清空原BLOB對象 */ stmt.executeUpdate('UPDATE TEST_BLOB SET BLOBCOL=EMPTY_BLOB() WHERE ID='222''); /* 查詢此BLOB對象并鎖定 */ ResultSet rs = stmt.executeQuery('SELECT BLOBCOL FROM TEST_BLOB WHERE FOR UPDATE'); while (rs.next()) { /* 取出此BLOB對象 */ oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob('BLOBCOL'); /* 向BLOB對象中寫入數(shù)據(jù) */ BufferedOutputStream out = new BufferedOutputStream(blob.getBinaryOutputStream()); BufferedInputStream in = new BufferedInputStream(new FileInputStream(infile)); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ conn.commit(); } catch (Exception ex) { ;/* 出錯回滾 */ conn.rollback(); throw ex; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * BLOB對象讀取 * * @param outfile - 輸出文件名 * @throws java.lang.Exception * @roseuid 3EDA050B003B */ public static void blobRead(String outfile) throws Exception { /* 設(shè)定不自動提交 */ boolean defaultCommit = conn.getAutoCommit(); conn.setAutoCommit(false);;;;;;try { /* 查詢BLOB對象 */ ResultSet rs = stmt.executeQuery('SELECT BLOBCOL FROM TEST_BLOB WHERE ID='222''); while (rs.next()) { /* 取出此BLOB對象 */ oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob('BLOBCOL'); /* 以二進制形式輸出 */ BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outfile)); BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream()); int c; while ((c=in.read())!=-1) { out.write(c); } in.close(); out.close(); } /* 正式提交 */ ;conn.commit(); } catch (Exception ex) { /* 出錯回滾 */ conn.rollback(); throw ex; };;;;;/* 恢復原提交狀態(tài) */ conn.setAutoCommit(defaultCommit); };/** * 建立測試用表格 * @throws Exception */ public static void createTables() throws Exception { try { stmt.executeUpdate('CREATE TABLE TEST_CLOB ( ID NUMBER(3), CLOBCOL CLOB)'); stmt.executeUpdate('CREATE TABLE TEST_BLOB ( ID NUMBER(3), BLOBCOL BLOB)'); } catch (Exception ex) {;;;;;} };/** * @param args - 命令行參數(shù) * @throws java.lang.Exception * @roseuid 3EDA052002AC */ public static void main(String[] args) throws Exception { /* 裝載驅(qū)動,建立數(shù)據(jù)庫連接 */ Class.forName(DRIVER); conn = DriverManager.getConnection(URL,USER,PASSWORD); stmt = conn.createStatement();;;;;;/* 建立測試表格 */ createTables();;;;;;/* CLOB對象插入測試 */ clobInsert('c:/clobInsert.txt'); clobRead('c:/clobInsert.out');;;;;;/* CLOB對象修改測試 */ clobModify('c:/clobModify.txt'); clobRead('c:/clobModify.out');;;;;;/* CLOB對象替換測試 */ clobReplace('c:/clobReplace.txt'); clobRead('c:/clobReplace.out');;;;;;/* BLOB對象插入測試 */ blobInsert('c:/blobInsert.doc'); blobRead('c:/blobInsert.out');;;;;;/* BLOB對象修改測試 */ ;;;;;blobModify('c:/blobModify.doc'); blobRead('c:/blobModify.out');;;;;;/* BLOB對象替換測試 */ blobReplace('c:/blobReplace.doc'); blobRead('c:/bolbReplace.out');;;;;;/* 關(guān)閉資源退出 */ conn.close(); System.exit(0); }}
標簽: JDBC
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品网址| 国产精品久久观看| 亚洲综合国产| 日韩一区二区久久| 国产免费成人| 午夜国产一区二区| 不卡av一区二区| 一本色道久久精品| 亚洲在线网站| 综合亚洲色图| 国产日产一区| 久久亚洲黄色| 不卡一二三区| 欧美~级网站不卡| 亚洲一区欧美激情| 日韩在线黄色| 国产欧美精品久久| 国产一区二区三区不卡av | 91九色精品| 国产精品丝袜xxxxxxx| 色综合视频一区二区三区日韩| 日韩国产在线不卡视频| 欧美激情久久久久久久久久久| 成人午夜毛片| 亚洲男女av一区二区| 亚洲天堂免费| 国产精品黄网站| 欧美不卡高清一区二区三区| 日韩午夜高潮| 国产日韩欧美一区| 国产va在线视频| 99国产精品久久久久久久| 亚洲男人在线| 麻豆一区二区在线| 久久网站免费观看| 亚洲精品看片| 人人草在线视频| 免费久久精品视频| 国产精品sss在线观看av| 久久蜜桃精品| 91麻豆精品| se01亚洲视频| 日韩精品一区二区三区免费视频| 精品午夜久久| 国产精品毛片一区二区三区| 国产精品亚洲欧美日韩一区在线| 日韩免费视频| 亚洲日本久久| 中文字幕在线看片| 免费在线观看不卡| 黄色欧美在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美a在线观看| 国产手机视频一区二区| 国产精品红桃| 视频在线观看91| 色爱综合网欧美| 最近国产精品视频| 日韩免费高清| 91精品一区| 欧美~级网站不卡| 国产精品中文字幕亚洲欧美| 亚洲不卡系列| 欧美日本不卡高清| 五月婷婷六月综合| 久久亚洲国产精品尤物| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩成人精品一区二区| 日韩欧美高清一区二区三区| 欧美日韩水蜜桃| 精品一区二区三区的国产在线观看| 美女精品一区| 日本免费一区二区三区四区| 奇米狠狠一区二区三区| 国产高清一区二区| 成午夜精品一区二区三区软件| 亚洲va久久久噜噜噜久久| 日韩欧美一区二区三区免费看| 日本不卡一二三区黄网| 99成人超碰| 精品国产一级| 青青伊人久久| 免费人成网站在线观看欧美高清| 色婷婷狠狠五月综合天色拍| 精品亚洲成人| 国产精品白丝久久av网站| 亚洲免费一区三区| 在线 亚洲欧美在线综合一区| 97精品97| 精品久久精品| 国产精品任我爽爆在线播放| 亚洲精品九九| 99热免费精品| 久久高清免费| 欧美亚洲日本精品| 国内精品亚洲| 精品国产一级| 麻豆精品av| 国产精品一区二区美女视频免费看 | 99在线|亚洲一区二区| 精品久久影院| 国产精品白浆| 国产欧美88| 久久精品99国产国产精| 亚洲欧美专区| 蜜桃一区二区三区在线观看| 精品一区在线| 亚洲午夜视频| 99久久亚洲精品蜜臀| 裤袜国产欧美精品一区| 精品亚洲a∨| 国产a久久精品一区二区三区| 欧美激情一区| 欧美a一区二区| 久久精品亚洲一区二区| 国产日韩在线观看视频| 日韩精品一区二区三区中文字幕| 午夜久久av| 91亚洲精品视频在线观看| 亚洲综合福利| 日韩国产在线一| 欧美欧美黄在线二区| 欧美一区成人| 国产亚洲电影| 麻豆国产欧美日韩综合精品二区| 国产精品高潮呻吟久久久久| 久久精品超碰| 久久的色偷偷| 国产一区二区三区视频在线| 高清av一区| 精品美女视频| 麻豆精品蜜桃| 国产一区白浆| 偷拍亚洲精品| 国产精品黄色片| 国产精品国产三级国产在线观看| 欧美国产偷国产精品三区| 日韩av首页| 视频在线在亚洲| 久久精品99久久久| 日本一二区不卡| 亚洲国内精品| 人人爽香蕉精品| 国产日产精品一区二区三区四区的观看方式 | 中文字幕av一区二区三区人| 日韩 欧美一区二区三区| 国产精品亚洲一区二区在线观看| 国产一区二区三区国产精品| 99精品在线观看| 另类av一区二区| 久久狠狠久久| 中文一区一区三区高中清不卡免费| 激情欧美丁香| 亚洲精品影视| 欧美精品二区| 欧洲av不卡| 亚洲综合精品| 国产伦精品一区二区三区千人斩| 精品国产一区二| 亚洲美洲欧洲综合国产一区| 亚洲精品成人一区| 国产成人精品福利| 99热免费精品| 麻豆极品一区二区三区| 九九在线精品| 日韩国产欧美视频| 日韩av自拍| 蜜乳av另类精品一区二区| 91精品国产自产在线丝袜啪| 国产一区二区三区探花| 欧美日韩国产探花| 日本免费一区二区视频| 成人一区而且| 蜜桃久久精品一区二区| 国产精品久久国产愉拍| 欧美不卡视频| 国产探花在线精品一区二区| 日韩激情一区| 日本不卡一区二区三区| 丝袜诱惑一区二区| 婷婷久久免费视频| 麻豆mv在线观看| 亚洲91在线| 久久久久国产精品一区三寸| 亚洲精品第一| 午夜精品成人av| 日韩美女国产精品| 激情久久婷婷| 麻豆视频久久| 一区二区三区网站| 欧美成人a交片免费看| 日韩国产欧美在线播放| 91精品国产乱码久久久久久久| 亚洲精品极品| 国户精品久久久久久久久久久不卡| 国产调教精品| 亚洲一区二区三区高清| 国产精品xx| 欧美私人啪啪vps| 人人爽香蕉精品|