ejb 中针对blob字段的修改的问题

04-04-18 weistars
SessionBeam--->dbi--->db

以上是实现方式,dbi内定义的是一些静态方法,进行数据库的操作,其中有针对blob字段的insert ,update,和delete 在dbi中全部测试过,可以进行正常读写。。在无状态的SessionBean中调用这些dbi,插入和删除没有问题,但是update就抛异常,先说connection.setAutocommit()这里不能修改事务类型,,,修改后,又抛sql异常:“无法锁定含有blob的列”。。。。

请高手指教。。。

oldma
2004-04-18 20:32
修改blob字段的顺序

1.select col_blob from table for update //在blob字段加锁

2.修改col_blob字段

1和2必须发生在一个事务里

connection.setAutocommit(flase)就是在开启一个事务

你的session bean的事务可能是容器来管理的(CMT),这时connection.setAutocommit(flase)就会报错,改称BEAN来管理事务就好了(BMT)。

猜你喜欢