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

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

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

    信念樹下
    --夢想只是不能實現的,想要實現就要有計劃。
    posts - 5,comments - 0,trackbacks - 0

    ORACLE中的大對象: 
    LONG: 可變長的字符串數據,最長2G,LONG具有VARCHAR2列的特性,可以存儲長文本一個表中最多一個LONG列
    LONG RAW: 可變長二進制數據,最長2G
    CLOB:  字符大對象Clob 用來存儲單字節的字符數據
    NCLOB: 用來存儲多字節的字符數據
    BLOB: 用于存儲二進制數據
    BFILE: 存儲在文件中的二進制數據,這個文件中的數據只能被只讀訪。但該文件不包含在數據庫內。bfile字段實際的文件存儲在文件系統中,字段中存儲的是文件定位指針.bfile對oracle來說是只讀的,也不參與事務性控制和數據恢復.   
    CLOB,NCLOB,BLOB都是內部的LOB(Large Object)類型,最長4G,沒有LONG只能有一列的限制。

    要保存圖片、文本文件、Word文件各自最好用哪種數據類型?
    --BLOB最好,LONG RAW也不錯,但Long是oracle將要廢棄的類型,因此建議用BLOB。
    對CLOB與BLOB對象的操作
        1.  查詢(GET) 

         查詢CLOB     

        //獲得數據庫連接  
        Connection con = ConnectionFactory.getConnection();  
        con.setAutoCommit(false);  
        Statement st = con.createStatement();  
        //不需要“for update”  
        ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1");  
        if (rs.next())  
        {  
            java.sql.Clob clob = rs.getClob("CLOBATTR");  
            Reader inStream = clob.getCharacterStream();  
            char[] c = new char[(int) clob.length()];  
            inStream.read(c);  
            //data是讀出并需要返回的數據,類型是String  
            data = new String(c);  
            inStream.close();  
        }  
        inStream.close();  
        con.commit();  
        con.close();
        
        查詢BLOB
        Connection con = ConnectionFactory.getConnection(); 
        con.setAutoCommit(false);  
        Statement st = con.createStatement();  
        //不需要“for update”  
        ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1");  
        if (rs.next())  
        {  
            java.sql.Blob blob = rs.getBlob("BLOBATTR");  
            InputStream inStream = blob.getBinaryStream();  
            //data是讀出并需要返回的數據,類型是byte[]  
            data = new byte[input.available()];  
            inStream.read(data);  
            inStream.close();  
        }  
        inStream.close();  
        con.commit();  
        con.close();  
     
        2.  插入(INSERT)

            
         插入CLOB
     
        //獲得數據庫連接  
        Connection con = ConnectionFactory.getConnection();  
        con.setAutoCommit(false);  
        Statement st = con.createStatement();  
        //插入一個空對象empty_clob()  
        st.executeUpdate("insert into TESTCLOB (ID, NAME, CLOBATTR) values (1, "thename", empty_clob())");  
        //鎖定數據行進行更新,注意“for update”語句  
        ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1 for update");  
        if (rs.next())  
        {  
            //得到java.sql.Clob對象后強制轉換為oracle.sql.CLOB  
            oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("CLOBATTR");  
            Writer outStream = clob.getCharacterOutputStream();  
            //data是傳入的字符串,定義:String data  
            char[] c = data.toCharArray();  
            outStream.write(c, 0, c.length);  
        }  
        outStream.flush();  
        outStream.close();  
        con.commit();  
        con.close();       
        插入BLOB 
        //獲得數據庫連接  
        Connection con = ConnectionFactory.getConnection();  
        con.setAutoCommit(false);  
        Statement st = con.createStatement();  
        //插入一個空對象empty_blob()  
        st.executeUpdate("insert into TESTBLOB (ID, NAME, BLOBATTR) values (1, "thename", empty_blob())");  
        //鎖定數據行進行更新,注意“for update”語句  
        ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1 for update");  
        if (rs.next())  
        {  
            //得到java.sql.Blob對象后強制轉換為oracle.sql.BLOB  
            oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BLOBATTR");  
            OutputStream outStream = blob.getBinaryOutputStream();  
            //data是傳入的byte數組,定義:byte[] data  
            outStream.write(data, 0, data.length);  
        }  
        outStream.flush();  
        outStream.close();  
        con.commit();  
        con.close();  

    posted on 2010-09-29 08:19 三角形 閱讀(2465) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AV日韩AV永久无码下载| 亚洲欧洲国产精品香蕉网| 亚洲国产日韩女人aaaaaa毛片在线 | 日韩视频在线观看免费| 国产亚洲精品激情都市| 亚洲高清免费视频| 亚洲一区二区三区偷拍女厕| 成全视成人免费观看在线看| 亚洲综合国产一区二区三区| 国产一级高青免费| 久久综合日韩亚洲精品色| 四虎国产成人永久精品免费| 亚洲视频在线观看视频| 成年在线观看网站免费| 亚洲中文字幕无码爆乳| 国产无遮挡裸体免费视频| 在线看亚洲十八禁网站| 在线亚洲精品自拍| 国产猛男猛女超爽免费视频| 亚洲国产高清在线| 免费精品国偷自产在线在线| 亚洲AV日韩AV永久无码色欲| 亚洲第一黄色网址| 免费的全黄一级录像带| 亚洲午夜国产精品| 免费国产小视频在线观看| 中文字幕无线码中文字幕免费| 亚洲avav天堂av在线不卡| 国产精品久久免费| 亚洲a无码综合a国产av中文| 久久亚洲av无码精品浪潮| 精品一区二区三区免费毛片爱 | 亚洲欧洲高清有无| 蜜臀91精品国产免费观看| 四虎一区二区成人免费影院网址| 亚洲av永久无码精品网站| 无码一区二区三区免费视频| 四虎影视永久在线精品免费| 在线电影你懂的亚洲| 免费大学生国产在线观看p| 精品四虎免费观看国产高清午夜|