java 文件写入oracle数据库blob字段

来源:互联网 发布:apache 官网下载64位 编辑:程序博客网 时间:2024/04/30 02:12
public void file2blob() throws Exception {
String filePath = "D://FILE//t.txt";
oracle.sql.BLOB b = null;
Connection con = null;
Statement st = null;
try {
String uuid = UUID.randomUUID().toString().replace("-", "");
DataSource ds = jdbcT.getDataSource();


con = jdbcT.getDataSource().getConnection();
st = con.createStatement();
st.executeUpdate("INSERT INTO T_BOLB_TEST (OBJ_ID,B_BLOB)VALUES('"
+ uuid + "',EMPTY_blob())");
ResultSet rs = st
.executeQuery("select B_BLOB from T_BOLB_TEST  WHERE OBJ_ID='"
+ uuid + "' for update");
if (rs.next()) {
b = (oracle.sql.BLOB) rs.getBlob(1);
File file = new File(filePath);
FileInputStream fin = new FileInputStream(file);
byte[] temp = new byte[fin.available()];
fin.read(temp);
OutputStream out = b.getBinaryOutputStream();
out.write(temp, 0, temp.length);
out.flush();
out.close();
  }
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (st != null) {
st.close();
}
con.commit();
if (con != null) {
con.close();
}
}
}
0 0