【问题标题】:ValueError when db settings altered in settings.py Django documentation在 settings.py Django 文档中更改数据库设置时出现 ValueError
【发布时间】:2017-12-25 05:00:28
【问题描述】:

嗨,我关注Django documenatation,我已经安装了Django 1.8python 2.7.12,我想连接到oracle 11g 数据库,为此我已更改settings.py 在 mysite 文件夹中像这样用于数据库信息的文件

DATABASES = {
    'default': {
        'ENGINE' : 'django.db.backends.oracle',
        'NAME' : 'XE',
        'USER' : 'chandan',
        'PASSWORD' : 'root',
        'HOST' : 'localhost',     }
}

当我运行 python manage.py runserver

时,我遇到了错误
python manage.py migrate

       from .utils import InsertIdVar, Oracle_datetime, convert_unicode
  File "C:\PYTHON27\lib\site-packages\django\db\backends\oracle\utils.py", line 10, in <module>
    (int(Database.version.split('.', 2)[1]) >= 1 or
ValueError: invalid literal for int() with base 10: '0rc1'

我是否必须更改 settings.py 中的 DATABASE 部分 或者需要做什么?

【问题讨论】:

  • 哪个版本正在使用 oracle dB。尝试同时指定端口

标签: python django oracle


【解决方案1】:

首先,检查您的 ORACLE 连接。

添加端口信息。

请务必安装 cx_Oracle 驱动程序最新版本。

【讨论】:

    【解决方案2】:

    您正在运行一个不兼容的 oracle 版本,Django 的 oracle 驱动程序尝试将版本字符串转换为 int,这显然失败了,因为 oracle 版本字符串包含0rc1

    您可能想要安装更新版本的 Django,1.8 已停产并且不接收任何安全补丁。如果您要开始一个新项目,请帮自己一个忙,选择 Python 3 :-)

    【讨论】:

    • 嗨 Odi,有没有兼容 django 1.8 的 oracle 版本?我上面做的数据库设置,对吗?
    • 我可以在 Django 文档中看到它支持 oracle 11.1 及更高版本。我已经准备好我的 oracle 11.2 db,我在这里缺少什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2020-05-11
    • 2012-03-21
    相关资源
    最近更新 更多