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

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

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

    Natural

     

    Oracle中插入Clob大字段時(shí)的處理

    最近一次開發(fā)中涉及clob字段的存儲(chǔ)。以前沒使用過,結(jié)果發(fā)現(xiàn)它不能像普通的varchar2、date等字段那樣存儲(chǔ)。上網(wǎng)查詢了一下,結(jié)果發(fā)現(xiàn)有些資料不太準(zhǔn)確。最后找了個(gè)能用的解決。特此寫個(gè)demo與大家分享。(PS:測試時(shí)用的是Oracle9i)

    import java.io.Writer;
    import java.sql.Clob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;

    import oracle.jdbc.driver.OracleResultSet;
    import oracle.sql.CLOB;

    public class Test {

        
    /**
         * 更新Clob字段
         * 
    @param sourceConn Connection 源數(shù)據(jù)庫的連接詞
         * 
    @param targetConn Connection 目標(biāo)數(shù)據(jù)庫的連接詞
         
    */
        
    public void updateClob(Connection sourceConn, Connection targetConn)
        {
            ResultSet rsSource 
    = null;
            ResultSet oracleRS 
    = null;
            Connection connTarget 
    = null;    // 目標(biāo)數(shù)據(jù)庫的連接
            Connection connSource = null;    // 源數(shù)據(jù)庫的連接
            PreparedStatement psmtInsert = null;
            PreparedStatement psmtSelect 
    = null;
            Statement oracleStmt 
    = null;
            
            String sInsertSQL 
    = "INSERT INTO tableTarget(id,context) VALUES (?,empty_clob())";
            String sSelectSQL 
    = "SELECT context FROM tableSource WHERE id = ? ";
            String sID 
    = "1";
            
            connTarget 
    = targetConn; // 獲取數(shù)據(jù)庫連接
            connSource = sourceConn; // 
            
            
    // 查詢源數(shù)據(jù)庫中表tableSource的clob字段context
            psmtSelect = connSource.prepareStatement(sSelectSQL);
            psmtSelect.setString(
    1, sID);
            psmtSelect.executeQuery();
            rsSource 
    = psmtSelect.getResultSet();
            
            
    // 將clob字段插入目標(biāo)數(shù)據(jù)庫中的表tableTarget
            psmtInsert = connTarget.prepareStatement(sInsertSQL);
            connTarget.setAutoCommit(
    false);    // 設(shè)置為不即時(shí)提交,待會(huì)后面一起提交
            psmtInsert.setString(1, sID);
            psmtInsert.executeUpdate();
            
            
    // 更新CLOB字段
            Clob clobSource = rsSource.getClob("context");    // 源數(shù)據(jù)庫的Clob字段
            String sClob = clobSource.getSubString((long)1, (int)clobSource.length());
            CLOB clobTarget 
    = null;            // 目標(biāo)數(shù)據(jù)庫的字段
            oracleStmt = connTarget.createStatement();
            oracleRS 
    = oracleStmt.executeQuery("SELECT context FROM tableTarget  WHERE id = '"+sID+"'");
            
            
    // 寫入Clob字段
            if(oracleRS.next() && sClob != null)
            {
                clobTarget 
    = ((OracleResultSet)oracleRS).getCLOB("context");
                Writer writer 
    = clobTarget.getCharacterOutputStream() ;
                writer.write(sClob);
                writer.flush();
                writer.close();
                
                connTarget.commit();    
    // 事務(wù)提交
            }
        }
        
    }


    posted on 2009-10-20 10:13 此號(hào)已被刪 閱讀(2867) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle


    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产成人爱av在线播放 | 亚洲?V无码成人精品区日韩| 亚洲综合网美国十次| 国产精品日本亚洲777| 成全视频免费高清| 亚洲国产美女在线观看 | 国产一精品一AV一免费孕妇 | 91福利免费视频| 亚洲精品乱码久久久久久按摩| 黑人粗长大战亚洲女2021国产精品成人免费视频| 免费精品国产自产拍在线观看图片 | 五月婷婷免费视频| 亚洲精品视频在线观看你懂的| 亚洲Av无码乱码在线观看性色| 亚洲欧洲日韩极速播放| 在线观看人成视频免费| 亚洲av成人片在线观看| 亚洲真人日本在线| 最好免费观看高清在线| 久久亚洲精品成人AV| 青青青国产在线观看免费网站| 亚洲中文字幕无码av永久| 四虎永久在线精品视频免费观看| 四虎国产精品成人免费久久 | 免费一级毛片在级播放| XXX2高清在线观看免费视频| 国产亚洲精久久久久久无码| 一个人免费视频在线观看www| 久久精品国产亚洲AV嫖农村妇女| 国产福利在线观看免费第一福利| 亚洲AV男人的天堂在线观看| 免费国产一级特黄久久| 91成人免费福利网站在线| 亚洲视频小说图片| 日韩免费视频播放| 成人网站免费大全日韩国产| 亚洲人成网站在线观看播放青青| 国产老女人精品免费视频| 国产午夜无码精品免费看动漫| 亚洲国产精品成人精品软件| 国产乱弄免费视频|