亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2156 | 回復(fù): 7
打印 上一主題 下一主題

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2004-03-22 16:25 |只看該作者 |倒序?yàn)g覽
謝謝!不盡感激

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2004-03-22 16:30 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

public void readBlob(String fileName)throws Exception
          {
                
                conn.setAutoCommit(false);
            Statement stmt = conn.createStatement();
            ResultSet rset = stmt.executeQuery("SELECT blobvalue FROM blobtable";
            BLOB blob = null;
            while (rset.next()) {
                blob = ((OracleResultSet) rset).getBLOB(1);
                System.out.println(blob.length());
            }

            FileOutputStream file_out = new FileOutputStream(new File(fileName));
            InputStream blob_in = blob.getBinaryStream();
            int temp;
            while((temp=blob_in.read())!=-1)
            file_out.write(temp);//讀取數(shù)據(jù)、寫(xiě)入文件系統(tǒng)
           
            file_out.close();
            blob_in.close();
            conn.commit();
        }      

讀出來(lái)保存到機(jī)器里了,轉(zhuǎn)換成string?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2004-03-22 17:04 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

我的想法如下:
ResultSet rs=stmt.executeQuery("select * from t_a_test1";

String content="";
if (rs.next()){

        try {
                //InputStream in = rs.getgetBlob(("ttt";
                //byte b[] = new byte[4096];
                //for(int i = in.read(b); i != -1 {
                        //in.read(b);
                        //content=content+b.toString();
                        // sout.write(b);
                         //in.read(b);
                //}
                Clob clob=rs.getClob("ttt";
                InputStream in =clob.getAsciiStream();
                int bufferSize=((oracle.sql.CLOB)clob).getBufferSize();
                OutputStream out1=((oracle.sql.CLOB)clob).getAsciiOutputStream();
                byte b[] = new byte[bufferSize];
                out.print(bufferSize);
                int count=in.read(b,0,bufferSize);
                int amount;
                while(count!=-1){
                        out1.write(b,0,count);
                        //amount+=count;
                        content=content+b.toString();
                        count=in.read(b,0,bufferSize);
                }

        }
        catch(Exception e){System.out.println(e);}
}
rs.close();
但是content=[B@e8647
我不想直接寫(xiě)入到文件,而是需要將讀出的變成String

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2004-03-23 09:09 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

我找到了一個(gè)方法:
如下:
clob = rs.getClob("ttt";
long l=1;
String ttt=clob.getSubString(1,(int)clob.length());
好簡(jiǎn)單了,就是不知道通用不,而且對(duì)中文支持不錯(cuò),象用
InputStream blob_in = clob.getAsciiStream();
對(duì)中文不能支持

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2004-03-23 11:00 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

還是用getStream,在readStream吧

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2004-03-23 17:46 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

我找不出這種方法的不好,因?yàn)楫?dāng)初設(shè)計(jì)的時(shí)候就是存html文本,而且這種方法很好處理,就是不知道如果很大很大會(huì)是怎樣,會(huì)不會(huì) flush 掉,還沒(méi)有進(jìn)行大數(shù)據(jù)量的測(cè)試

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2004-03-23 17:52 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

測(cè)試結(jié)果不好,誰(shuí)能告訴我怎樣處理流中的中文嗎?
謝謝

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2004-03-24 11:24 |只看該作者

嗨,請(qǐng)教將oracle里的clob的數(shù)據(jù)用jdbc讀出成String

所有問(wèn)題已經(jīng)解決,謝謝
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP