<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    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?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);
    ????}
    ??
    ????/**
    ?????*?修改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?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);
    ????}
    ??
    ????/**
    ?????*?替換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?ID='111'?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?ID='222'?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?ID='222'?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?ID='222'?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);
    ????}
    }
    主站蜘蛛池模板: 亚洲大香伊人蕉在人依线| 亚洲色大网站WWW永久网站| 全部免费毛片免费播放| 国产无限免费观看黄网站| 日韩高清在线免费看| jizz18免费视频| 亚洲性色高清完整版在线观看| 日本最新免费不卡二区在线| 中文字幕在线视频免费观看| 亚洲综合久久夜AV | 2021在线永久免费视频| 免费VA在线观看无码| 亚洲av日韩片在线观看| 在线观看亚洲专区| 亚洲av无码无在线观看红杏| 在线播放免费播放av片| 亚洲国产成人va在线观看网址| 国产黄色免费网站| 激情五月亚洲色图| 成人免费视频一区| 亚洲AV日韩综合一区| 亚洲大尺度无码专区尤物| 免费无码中文字幕A级毛片| 亚洲视频免费一区| 亚洲精品第一国产综合境外资源| 一级特黄a免费大片| 在线综合亚洲中文精品| 亚洲AV无码第一区二区三区| 四虎AV永久在线精品免费观看| 人体大胆做受免费视频| 亚洲国产综合精品中文第一| 亚洲av无码专区在线播放| 免费人成网站7777视频| 亚洲免费综合色在线视频| AV激情亚洲男人的天堂国语| 久久精品国产亚洲77777| 国产亚洲av片在线观看18女人| 久久久精品免费视频| 久久久综合亚洲色一区二区三区| 桃子视频在线观看高清免费视频| 免费精品国自产拍在线播放 |