jdbc 连接Oracle数据库保存图片

最基本的Oracle数据库连接代码(只针对Oracle11g):

1、右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,oracle jar包 ojdbc6_g.jar

public class ConnectOracle {

 public static void main(String[] args) throws IOException {
  // TODO Auto-generated method stub
  String driver="oracle.jdbc.OracleDriver";
  String url="jdbc:oracle:thin:@localhost:1521:orcl";
  String user="system";
  String password="123456";
  try {
   Class.forName(driver);
  } catch (ClassNotFoundException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  Connection con = null;
  try {
   con = DriverManager.getConnection(url, user, password);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   System.out.println("oracle连接失败");
  }
 // String sql = "select GMSFHM from 'CZRK_SFZ_ZP'  where rownum <= 10";
  String sql = "select GMSFHM,ZP from czrk_sfz_zp  where rownum>0 and rownum <= 100000";
  PreparedStatement pstm = null;
  try {
   pstm = con.prepareStatement(sql);
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   System.out.println("oracle执行失败");
  }
  
  ResultSet rs = null;
  try {
   rs = pstm.executeQuery(); 
   int i=0;
   while (rs.next())
   {
    String str = rs.getString("GMSFHM");
    Blob img = rs.getBlob("ZP");
    InputStream ins = img.getBinaryStream();
    i++;
    FileOutputStream fos = new FileOutputStream("E:/imagesFromOracle/" + str+  ".bmp");
    byte[] data = new byte[1000000];
    int length = 0;
    try {
     while((length = ins.read(data, length,1000000)) != -1) {
       try {
      fos.write(data, 0 ,length);
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
       fos.flush();
     }
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    fos.close();
    ins.close();
   }
  }
  catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值