String user= "root";
String password= "password";
conn=DriverManager.getConnection(sourceURL, user, password);
sql=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);//注:“ini”字段为BLOB字段
String sqlstr = "select * from report_file t where t.id = '6475880'";
rs=sql.executeQuery(sqlstr);while(rs.next()) {
String name= rs.getString("id");//如下使用JdbcOdbcDriver则报错:Hit uncaught exception//java.lang.UnsupportedOperationException//java.sql.Blob blob = rs.getBlob("ini");//注意这里的写法:使用的是OracleDriver//reportfile数据库中的blob字段
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("reportfile");
String filepath= "C:/" + name + ".pdf";
System.out.println("输出文件路径为:" +filepath);try{
InputStream in= blob.getBinaryStream(); //建立输出流
FileOutputStream file = newFileOutputStream(filepath);int len = (int) blob.length();byte[] buffer = new byte[len]; //建立缓冲区
while ((len = in.read(buffer)) != -1) {
file.write(buffer,0, len);
}
file.close();
in.close();
}catch(Exception e) {
System.out.println("I/O Exception.");return false;
}
}
}finally{
rs.close();
sql.close();
conn.close();
}
}catch(SQLException e) {
System.out.println("SQLException.");return false;
}catch(ClassNotFoundException e) {
System.out.println("ClassNotFoundException.");return false;
}return true;
}
}