1:往oracle中存分四步:
第一步:conn.setAutoCommit(false); 将链接设置不自动提交
第二步:插入数据:String sql="insert into 表名 values(empty_blob())"; 表示插入一个空的blob
第三步:取出BLOB
String queryscsql="select BLOB字段 from 表名 where id='"+id+"'";
ResultSet result = dbutil.getResultSet(statment, queryscsql);
BLOB blob = (BLOB) result.getBlob(1);
OutputStream out = blob.getBinaryOutputStream();
out.write(filedata); //filedata 将文件转换成byte[] filedata
out.flush();
out.close();
第四步:更新BLOB字段
String updatesql = "update 表名 set BLOB字段 = ? where id = '"+id+"'";
PreparedStatement ps = conn.prepareStatement(updatesql);
ps.setBlob(1, blob);
ps.executeUpdate();
2:从oracle中取BLOB,并写到文件中
String queryscsql="select BLOB字段 from 表名 where id='"+id+"'";
ResultSet scresult1 = dbutil.getResultSet(statment, queryscsql);
if (scresult1.next()) {
BLOB blob = (BLOB) scresult1.getBlob(9);
File file=new File("C:\\Users\\111.txt");
FileOutputStream output = new FileOutputStream(file);
InputStream input = blob.getBinaryStream();
byte[] buffer = new byte[blob.getBufferSize()];
int len = 0;
while ((len = input.read(buffer)) != -1) {
output.write(buffer, 0, len);
}
input.close();
output.flush();
output.close();
}