django oracle数据库配置,使用Oracle 11g数据库issu配置django

问题是Django 2.0.2仅支持oracle 12g。请检查以下内容:

此外,您还可以检查sql失败,如下面的问题(添加到管理.py打印(查询)行)

我已经按照第一个问题中的建议将其降级到django1.11,但这导致我出现错误“AttributeError:'cx”_甲骨文.光标'object没有属性'numbersAsStrings',因为我已经安装了最新的cxu Oracle版本。(此处提供更多信息:https://code.djangoproject.com/ticket/28138)

为了解决这个问题,我修改了文件C:\ProgramFiles\Python37\lib\site packages\django\db\backends\oracle\基准.py对此:def __init__(self, connection):

self.cursor = connection.cursor()

# Necessary to retrieve decimal values without rounding error.

self.cursor.numbersAsStrings = True

self.cursor.outputtypehandler = self._output_type_handler

# Default arraysize of 1 is highly sub-optimal.

self.cursor.arraysize = 100

# https://github.com/django/django/commit/d52577b62b3138674807ac74251fab7faed48331

@staticmethod

def _output_type_handler(cursor, name, defaultType, length, precision, scale):

"""

Called for each db column fetched from cursors. Return numbers as

strings so that decimal values don't have rounding error.

"""

if defaultType == Database.NUMBER:

return cursor.var(

Database.STRING,

size=255,

arraysize=cursor.arraysize,

outconverter=str,

)

我从这里取下这个代码块:

有了这个,我至少可以迁移这个项目。我不知道它是否会在继续前进的过程中失败。在

希望这有帮助!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值