一个老的系统,DAO基本是存储过程实现,因此django的模型很难使用,就直接调过程了。但利用django1.2.5的数据库连接调用oracle存储过程会报Variable_TypeByValue(): unhandled data type VariableWrapper
代码如下:
from django.db import connection
from mysite.aop import transaction
@transaction
def callproc(id,comment):
import cx_Oracle
cursor = connection.cursor()
result=cursor.var(cx_Oracle.STRING)
cursor.callproc("act14_pck.vote_submit",(id,comment,result))
return result.getvalue()
@transaction()是自定义的装饰器,用来提交或者回滚数据的
代码如下:
def transaction(func):
def _transaction(*args):
from django.db import transaction
try:
obj = func(*args)
transaction.commit()
return obj
except Exception,e:
transaction.rollback()
raise e
return _transaction
执行这个会报异常Variable_TypeByValue(): unhandled data type VariableWrapper
后来查看了django的代码,将django/db/backends/oracle/base.py 647行
return VariableWrapper(self.cursor.var(*args))
改为
sreturn self.cursor.var(*args)
问题得到解决,但我是初学者,不知道这样的修改靠谱吗?
相关推荐
python+Django数据库监控平台 Linux/Oracle/MySQL/Redis基础监控+性能监控
主要介绍了Django数据库连接丢失问题的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
今天小编就为大家分享一篇django 数据库连接模块解析及简单长连接改造方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
django连接oracle的错误和解决方法,numbersAsStrings, oci.dll is not the correct architecture , Django to connect to Oracle using Service Namef,SID given in connect descriptor
说明:该项目已停止开发,请移步新的监控项目,基于前后端分离结构:总体介绍python+Django数据库监控平台开发技术:python,django(web框架),AdminLTE(前端模板)整体架构:后端多进程数据采集+告警轮询+web前端...
根据菜鸟教程Django教程学习,运行”python manage.py migrate” 报错,出现 django.db.utils.OperationalError: (1045, “Access denied for user ‘账号’@’localhost’ (using password: YES)”) 错误。 这种...
在某个应用app文件夹下的model文件进行数据库代码编写;讲述Django 数据库表的建立与增删查改方法
使用Python编程语言 Django MySQL数据库开发的web版学生管理系统,里面附带环境搭建的详细过程和开发过程中遇到的一些bug的讲解 使用Python编程语言 Django MySQL数据库开发的web版学生管理系统,里面附带环境搭建...
python 连接达梦数据库
上次用django2.2和oracle11g,在migrate的时候发生了版本冲突,最终将Oracle升级到了12c才解决问题 那么到底能不能用别的方法来解决这个冲突呢?想了个解决思路,实践一下: 用django2.2连Oracle12c环境下做migrate...
django实现用户的登录注册连接后台数据库完成主页的搭建,并且附有忘记密码 验证码等功能。
python+Django+mysql实现了连接数据库,动态页面。对于新学习python和有一部分基础的开发者和学员来说非常有帮助,按照步骤一步一步的做即可。
Django 数据库内省工具, 通过数据表名就可以动态创建一个即时可用的Django models对象
django 上传文件。连接mysql
允许Django使用MongoDB作为数据库后端的驱动程序
Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库Python连接Access数据库...
今天小编就为大家分享一篇django 删除数据库表后重新同步的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一个web小工具,基于Django开发,链接Oracle数据库
今天小编就为大家分享一篇Django读取Mysql数据并显示在前端的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧