【问题标题】:How to connect to oracle legacy database using cx_oracle django package?如何使用 cx_oracle django 包连接到 oracle 遗留数据库?
【发布时间】:2016-06-12 13:07:46
【问题描述】:

我连接到旧版 oracle 数据库后端的数据库设置是

DATABASES = { 'bannerdb': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'host:port/service_name', 'USER': 'username', 'PASSWORD': 'password', },

我正在使用这个命令来运行 create models.py 文件使用

python manage.py inspectdb --database=bannerdb >models.py

我的问题如下

  • 当我运行上面提到的inspectdb 命令时,它会创建一个空的models.py 文件

     from __future__ import unicode_literals
     from django.db import models
    

我做了很多研究,但找不到使用 cx_oracle 包为 oracle 数据库后端创建 models.py 文件的方法,请帮助。我是一只新蜜蜂。

【问题讨论】:

    标签: python django oracle cx-oracle


    【解决方案1】:

    我解决了这个问题,与使用 django 连接其他数据库(postgres、mysql 等)不同,要访问 oracle 遗留数据库,需要手动创建 models.py 文件。 就我而言,python manage.py inspectdb --database=bannerdb >models.py 不起作用。我将 models.py 文件创建为

    class table_name(models.Model):
        ID = models.CharField(max_length=9, primary_key=True)
        title = models.CharField(max_length=20, null=True)
        first_name = models.CharField(max_length=60, null=True)
        middle_name = models.CharField(max_length=60, null=True)
        last_name = models.CharField(max_length=60)
    
        class Meta:
            db_table="table_name_oracle_database"
    

    使用oracle数据库后端的完整解释在这里http://www.oracle.com/technetwork/articles/dsl/vasiliev-django-100257.html

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 2020-02-06
      • 2020-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多