读出blob字段

import java.io.*;
import java.sql.*;

import oracle.jdbc.*;
import oracle.sql.*;

/**
 * <p>名称: BLOBRead.java </p>
 * <p>说明:
 * 业务规则:
 * 读出blob字段
 * </p>
 * <p>版权: Copyright (c) 2006</p>
 * <p>版权所有: 北大青鸟软件工程有限公司</p>
 * @author 王世元
 * @version 1.0
 */

public class BLOBRead {
  public static void main(String[] args) {
    Connection con = null;
    try {
      //连接字串
      Class.forName("oracle.jdbc.driver.OracleDriver");

      //数据库地址
      String url = "jdbc:oracle:thin:@192.168.100.100:1521:wangsy";

      //创建连接
      con = DriverManager.getConnection(url, "wangsy", "wangsy");

      //取消自动提交
      con.setAutoCommit(false);

      Statement stmt = con.createStatement();

      //使用"for update"得到表的写锁
      String sql = "select strustring from treestructure where structureid=" +
          1;
      ResultSet rs = stmt.executeQuery(sql);

      BLOB blob = null;

      //写出为文件
      //File out=new File("c:/outtest1.txt");
      //java.io.FileOutputStream fout=new FileOutputStream(out);

      //输出字符串
      String structureXML = "";

      byte[] b = null;
      while (rs.next()) {
        String tmpStr = "";
        blob = (oracle.sql.BLOB) rs.getBlob("strustring");
        b = blob.getBytes(1, (int) blob.getLength());

        //输入流
        InputStream in = blob.getBinaryStream();
        DataInputStream dd = new DataInputStream(in);
        while ( (tmpStr = dd.readLine()) != null) {
          System.out.println("tmpStr " + tmpStr);
          structureXML = structureXML + tmpStr;
        }
        in.close();
        dd.close();

      }

      //关闭连接
      con.close();
    }
    catch (Exception ex) {
      try {
        con.rollback();
      }
      catch (SQLException ex1) {
        System.out.println(ex1.getMessage());
      }
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值