rails的局部更新特性与oracle中clob数据类型问题解决

10 篇文章 0 订阅
最近在项目中遇到了这样一个问题。当数据表存在“clob”类型的数据项时rails框架局部更新数据时(注:更新时没有修改任何数据)。

系统就会出现以下提示:ORA-22920: row containing the LOB value is not locked

以前从来没有遇到过这样的问题。。经过一番折腾总算是找到解决的方法了。。

方法一:可以在environment.rb文件中增加下面这句:

ActiveRecord::Base.partial_updates = false

解析:

将rails2.1框架的局部更新特性完全关闭,也就是无论你是否有修改,都会去重新写一遍数据库。。在这个文件中增加这一列,是对项目中所有的模块都设置了。这样对一些不存在clob弄数据的地方不太合适。也会影响到性能(一个项目中clob型的数据必竞是少之又少的,这样做得不尝失)。

方法二:在相应的功能的model文件中增加以下代码:

class 功能模块 < ActiveRecord::Base

.....
self.partial_updates = false

......

end

这样就可以必免方法一中的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值