oracle使用empty_blob()初始化blob字段,造成数据读取错误

很多java程序员对大字段进行插入值的时候,总是采用锁定更新的方式,即先用empty_blob()进行初始化,然后锁定更新。ado.net在读取blob字段的时候,如果blob不为null,而是用empty_blob()初始化过的,这时blob字段的值是一个空指针,读取时候因为这时一个空指针,所以无法写入到buffer里。为了避免这种情况,所以读取前要判断值的长度,如果长度为0,且不为null,说明是初始化,而没有值,所以不必进行读取,视为null即可。

posted on 2011-12-30 10:10  赖侨杰  阅读(1272)  评论(0编辑  收藏  举报