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

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

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

瀏覽:24日期: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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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; };;;;;/* 恢復(fù)原提交狀態(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); }}
標(biāo)簽: JDBC
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩毛片网站| 国产精品成人自拍| 日韩毛片视频| 国产v综合v| av资源中文在线天堂| 日韩在线观看一区| 亚洲激情精品| 欧美永久精品| av资源中文在线| 国产亚洲一区在线| 日韩av在线播放中文字幕| 国产精品久久亚洲不卡| 韩国久久久久久| 99国产精品| 国产午夜一区| 午夜精品成人av| 日韩在线观看一区二区| 久久精品72免费观看| 91亚洲国产成人久久精品| 欧美午夜精彩| 日韩一区二区三区免费视频| 精品视频一区二区三区在线观看 | 麻豆免费精品视频| 亚洲国产欧美日本视频| 日韩一区二区免费看| 97精品久久| 私拍精品福利视频在线一区| 在线看片一区| 97国产成人高清在线观看| 巨乳诱惑日韩免费av| 国产精品高清一区二区| 久久久久美女| 欧美日本一区| 激情五月综合| 国产精品va视频| 黄色不卡一区| 老司机精品视频网| 黄色国产精品| 国产精品极品在线观看| 一区二区视频欧美| 精品国产中文字幕第一页| 免费视频久久| 波多野结衣久久精品| 日韩不卡手机在线v区| 亚洲午夜黄色| 国产精品对白| 免费在线观看一区二区三区| 成人在线丰满少妇av| 日韩一区免费| 亚洲在线免费| 欧美成人基地 | 精品国产三区在线| 久久最新视频| 精精国产xxxx视频在线播放| 国产精品伦一区二区| 一二三区精品| 日韩欧美在线中字| 久久久久观看| 日本国产欧美| 日韩一区精品视频| 久久国产毛片| 国产 日韩 欧美 综合 一区| 日本综合视频| 视频一区中文字幕| 欧美一区二区性| 中文字幕在线官网| 久久超碰99| 欧美久久精品| 日韩在线视频一区二区三区| 午夜亚洲一区| 好看的亚洲午夜视频在线| 粉嫩av一区二区三区四区五区| 青青草精品视频| 免费成人在线影院| 国产一区91| 91精品99| 五月天久久网站| 欧美肉体xxxx裸体137大胆| 在线天堂中文资源最新版| 精品一区视频| 成人污污视频| 国际精品欧美精品| 精品高清久久| 国产精品二区不卡| 成人在线视频区| 麻豆国产精品| 国产精品探花在线观看| 国产精品久久久久久久免费软件| 日韩国产欧美三级| 欧美亚洲一级| 久久av免费| 国产精品成人a在线观看| 精品国产欧美日韩| 亚洲精品成人图区| 日韩免费看片| 久久中文字幕av| 成人av二区| 99国内精品| 亚洲一区二区日韩| 97精品资源在线观看| 国产精品亚洲综合久久| 日韩av资源网| 久久wwww| 三级在线看中文字幕完整版| 香蕉久久精品| 免费人成在线不卡| 日韩av一级片| 国产一区二区三区黄网站| 亚洲精品国产嫩草在线观看| 狠狠色狠狠色综合日日tαg| 亚洲一区二区av| 国产日韩欧美中文在线| 狠狠久久伊人中文字幕| 91精品一区国产高清在线gif| 欧美女激情福利| 日本一区二区三区视频在线看| 日韩av一区二| 毛片不卡一区二区| 日韩电影免费网站| 亚洲精品一区二区在线看| 婷婷精品在线| 日韩.com| 蜜桃传媒麻豆第一区在线观看| 国产免费av国片精品草莓男男| 亚洲国产欧美日本视频| 亚洲一区欧美激情| 国产日韩高清一区二区三区在线| 国产一区二区三区精品在线观看| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 免费视频国产一区| 视频一区二区三区中文字幕| 欧美精品国产一区| 日本久久综合| 视频在线观看一区| 久久精品免费看| 中文欧美日韩| 欧美精品二区| 亚洲资源av| 卡一卡二国产精品| 久久亚洲美女| 精品国产不卡一区二区| 亚洲一区二区三区高清| 国产精品色在线网站| 欧美日韩第一| 国产精品4hu.www| 欧美亚洲国产一区| 国产精品一级在线观看| 久久一区二区三区喷水| 欧美一级全黄| 蜜臀91精品国产高清在线观看| 国产精品羞羞答答在线观看| 午夜欧美在线| 精品三级国产| 亚洲乱码视频| 日韩精品网站| 免费在线亚洲欧美| 久久亚洲电影| 精品丝袜在线| 国产精品大片免费观看| 亚洲欧美网站| 红杏一区二区三区| 日本一区二区三区视频在线看| 久久国产电影| 麻豆精品视频在线观看| 视频一区二区不卡| 久久久精品五月天| 国产精品v亚洲精品v日韩精品| 国产一级一区二区| 91精品韩国| 国产专区精品| 国产日本亚洲| 亚洲精品婷婷| 五月精品视频| 日本精品影院| 成午夜精品一区二区三区软件| 亚洲免费毛片| 亚洲在线成人| 午夜精品影院| 99久久九九| 欧美日韩视频网站| 高清精品久久| 久久精品国内一区二区三区| 日韩av三区| 亚洲九九精品| 亚洲综合专区| 视频一区视频二区在线观看| 欧美精选一区二区三区| 日韩成人亚洲| 欧美羞羞视频| 中文字幕成在线观看| 国产精品一区二区三区av| 日本在线成人| 日韩精品国产欧美| 一二三区精品| 蜜臀av一区二区在线免费观看| 久久一区二区中文字幕| 久久激情一区| 欧美中文一区二区| 久久精品高清| 亚洲成人免费|