把String存入Oracle表中的Blob类型的列?
问题描述:
用java实现怎么做?是String字符串,不是图片或者文件。我试过几个方法,但是老师出现空指针异常。
本人才疏学浅,望有才子指点。感激。
答
先插入一个空blob 然后再打开这个空的blob用out流往里面写。
[code="java"]
String sql = "insert into TEST values('1','xxx',EMPTY_BLOB())";
[/code]
[code="java"]
rs = stm.executeQuery("SELECT img FROM TEST WHERE id='1' FOR UPDATE ");
[/code]
[code="java"]
if(rs.next()) {
System.out.println(blobBuf.length);//以byte为单位
blob = (oracle.sql.BLOB)rs.getBlob(1);
out = blob.getBinaryOutputStream();
out.write("xxx".getBytes());//写入到BLOB中去
out.close();
conn.commit();
}
[/code]
答
把异常信息和代码都贴出来。