| 用jsp对oracle的clob字段进行操作 |
|
作者:佚名 文章来源:网贝整理 点击数: 更新时间:2004-9-30 16:57:06  |
CLOB一般用来存放超大广西,如果是2进制文件一般用BLOB. 假设col2是CLOB: 写操作:
String sql = "insert into tb_commendtemp (col1,col2) values('111',?)"; string s = "长文本"; StringBufferInputStream sbin = new StringBufferInputStream(s); PreparedStatement ps = query.getPreStmt(sql); ps.setAsciiStream(1,sbin,s.length()); int i = ps.executeUpdate(); ps.close(); sbin.close(); if(i>0) ok; 如果是二进制文件就用FileInputStream写进去
读的时候只要 rs.getAsciiStream(); rs.getUnicodeStream(); rs.getBinaryStream(); 看它们的名字就知道是得到什么类型的的数据流了.
如果存放的是二进制文件,比如图形,执行文件,压缩文件最好还是blob保险. 写和读也要用二进制流, DataInputStrean和DatOutputStream.有时用UNICODE的字符流也能行,但 不保险.如果是文本,用Clob和LONG都行.读和写用 BuffreedReader和PrintWriter更方便.
要想在一个网页上同时显示从程序中推出的文字和图象,这项技术目前在国内 可以值100万. 因为目前浏览器要想同时显示HTML文档和image文档,你到目前在国内还没有 发现,要用到server push技术.你想想一下电子邮件的文档头,是复合型的,把 数据用Base 64编码就可以通过特定的文档类型同时显示文字和图片了.可是浏览器目前还做不到.
blob:二进制,如果exe,zip clob:单字节码,比如一般的文本文件. nlob:多字节码,如UTF格式的文件.
如果带格式的文件如果WORD,EXECL等如果要保持格式不被破坏,最好以BLOB 方式,它近似于以byte的原始方式存放,缺点当然是操作时效率低(慢).
操作CLOB,别的可以看我上面的写和读的例子,只要注意把 写pstmt.setBinaryStream()改成rs.setAsciiStream(); 读pstmt.getBinaryStream()改成rs.getBinaryStream();
在从文件读成流的时候用Reader而不要用DataInuputStream | |
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: JDBC存取Oralce数据库的注意事项
下一篇文章: JDBC2.0如何写批处理更新? |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |