ITPub博客

首页 > Linux操作系统 > Linux操作系统 > jdbc存取blob 所用的时间

jdbc存取blob 所用的时间

原创 Linux操作系统 作者:itpot 时间:2007-12-28 18:55:23 0 删除 编辑
package com.jy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Date;
import java.util.Properties;
import java.io.*;
import java.net.URL;
import java.sql.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.CLOB;
import oracle.sql.BLOB;
public class ClobTest {
 public static void main(String[] args) {
  String dbDriver = "oracle.jdbc.driver.OracleDriver";
  String urlStr = "jdbc:oracle:thin:@192.168.0.1:1521:ora10";
  String userid = "test";
  String pwd = "test";
  try {
   Class.forName(dbDriver);
   Connection conn = DriverManager.getConnection(urlStr, userid, pwd);
   // 写clob
   conn.setAutoCommit(false);
   Statement pstmt = conn.createStatement();
   ResultSet rs3 = null;
   // 插入id
   String idtmp = String.valueOf(new Date().getTime());
   
   long start = System.currentTimeMillis();
   String sql = "insert into LOB_TEST (id,BLOB) values  ('" + idtmp
     + "',empty_blob())";
   pstmt.executeUpdate(sql);
   conn.commit();
   sql = "select BLOB   from LOB_TEST   where id = '" + idtmp
     + "' for update";
   rs3 = pstmt.executeQuery(sql);
   if (rs3.next()) {
    Blob blob = rs3.getBlob(1);
    OutputStream ut = ((oracle.sql.BLOB) blob)
      .getBinaryOutputStream();
    byte[] b = new byte[((oracle.sql.BLOB) blob).getBufferSize()];
    File file = new File("D:/old.dmp");
    InputStream fin = new FileInputStream(file);
    int len = 0;
    while ((len = fin.read(b)) != -1)
     out.write(b, 0, len);
    fin.close();
    out.close();
   }
   System.out.println(" 所用时间:"   + (System.currentTimeMillis() - start) + "ms");
//   更新clob字段
//   sql = "UPDATE  CLOB_TEST   set clob=empty_clob() where id = '"
//     + idtmp + "'";
//   pstmt.executeUpdate(sql);
//   oracle.sql.CLOB clobFile = null;
//   if (rs3.next()) {
//    clobFile = (oracle.sql.CLOB) rs3.getClob(1);
//   }
//   Writer wr = clobFile.getCharacterOutputStream();
//   wr.write("dd");
//   wr.flush();
//   wr.close();
//   // 关闭
//   rs3.close();
//   pstmt.close();
//   conn.close();
//   //
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12548713/viewspace-45915/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle cbo 的优化
下一篇: weblogic 集群配置
请登录后发表评论 登录
全部评论

注册时间:2007-12-27

  • 博文量
    39
  • 访问量
    55472