2007年10月4日星期四

Oralce 的Blob 存取

Oracle的Blob 存取要分几步做, 不能直接把Blob数据插入到数据库

1. 关闭 autocommit。
conn.setAutoCommit(false);如果缺少这一步,可能导致fetch out of sequence等异常

2. 插入一个空的Bolb 值。
insert tableA(A,B) values(empty_blob(),'hello')
3. 取出刚才的记录再update
select A from tableA where B=‘hello’ for update ,如果缺少for update,可能出现row containing the LOB value is not locked,然后将得到的空的Blob值更新内容就可以了。


据说10g的驱动解决了这个问题。 不知道是不是。

没有评论: