python – 避免OpenERP audittrail错误
发布时间:2020-12-20 11:15:10 所属栏目:Python 来源:网络整理
导读:我想通过安装audittrail模块来管理OpenERP用户的活动. 创建一些规则(定义哪个用户,哪个对象以及将监视哪个活动(创建,更新…)).我更新了一个产品,看它是否有效. 当我尝试更新产品时,我遇到了系统错误.看到日志,我明白了 [2010-08-31 12:53:35,042]光标未明
我想通过安装audittrail模块来管理OpenERP用户的活动.
创建一些规则(定义哪个用户,哪个对象以及将监视哪个活动(创建,更新…)).我更新了一个产品,看它是否有效. 当我尝试更新产品时,我遇到了系统错误.看到日志,我明白了 [2010-08-31 12:53:35,042]光标未明确关闭 [2010-08-31 12:53:35,043]光标创建于/home/pilgrim/working/sources/addons/audittrail/audittrail.py:204 这里导致错误的行 ??????????cr = pooler.get_db(db).cursor() 看一下sql_db.py,我收到了评论 def __del__(self): if not self.__closed: # Oops. 'self' has not been closed explicitly. # The cursor will be deleted by the garbage collector,# but the database connection is not put back into the connection # pool,preventing some operation on the database like dropping it. # This can also lead to a server overload. msg = "Cursor not closed explicitlyn" "Cursor was created at %s:%s" % self.__caller log(msg,netsvc.LOG_WARNING) self.close() 由于我是Python的新手,我不知道如何克服这个问题? 解决方法
看到源代码来了解最新情况是非常重要的.
但是根据您发布的内容,看起来前一个游标未明确关闭. cr = sqldb.db_connect(dbname).cursor() ......... cr.close() cr = None 我建议您破解audittrail.py以查找创建光标的位置以及关闭它们的位置.一个典型的问题是异常处理错误,导致代码跳过正常的闭包. 尝试在可疑的游标操作周围放置一个try,except和finally子句.这应该可以帮助您解决问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |