zoukankan      html  css  js  c++  java
  • Django 数据库连接配置(Oracle、Mysql)

    一、Django Oracle连接配置

    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.oracle',
    'NAME': 'DEMO',
    'USER': 'demo1',
    'PASSWORD': 'demo1',
    'HOST': "10.XXX.XXX.XXX",  # Set to empty string for localhost
    'PORT': '1521',             #端口
    }
    }

    二、Django Mysql连接配置

    DATABASES = {

        'default': {
             'ENGINE': 'django.db.backends.mysql',
             #数据库名字
             'NAME': 'study',
             'USER': 'root',
             'PASSWORD': 'centos',
             'HOST': '127.0.0.1',
             'PORT': '3306',
             'OPTIONS': {
                'autocommit': True,
                'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            },
        }
    }

    三、注意事项

    1、查看django版本

    import django
    print(django.VERSION)

    2、关联数据库

    python manage.py makemigrations

    python manage.py migrate

    1)python manage.py migrate 报错

    ORA-02000: missing ALWAYS keyword

    ORA-02000: missing ALWAYS keyword 问题是因为django默认为每个表增加序列字段,django2.0使用了 oracle12 新特性 ALWAYS keyword(而旧版本不支持自增长序列字段),因此如果你的服务器oracle不是12c版本使用django2.0就会出现这个错误,要解决这个问题只有使用低版本的djiango或服务器升级到oracle12c,再或者花精力去修改ORM框架文件!以上是我的理解,不知正确与否,待验证!

    降低版本在执行

    2)python manage.py migrate 报错

    修改setting中的MIDDLEWARE为MIDDLEWARE_CLASSES

    3)python manage.py migrate报错

    再次报错,原因是,cx_Oracle6.0以及以上版本删除numbersAsStrings方法,既然6.0删除了,只能降级

    降低版本

    pip install cx-oracle==5.3

    报错

    为了绕过这个错误,在网上找到了一个封装好的cx-Oracle版本

    https://www.lfd.uci.edu/~gohlke/pythonlibs/  从这里面下载

    只有这一个版本安装成功(我的是64位)

    导入cx_Oracle测试

    cx_Oracle5.2 ImportError: DLL load failed: 找不到指定的程序。

    解决方法。。。。没有解决

    回滚cx_Oracle位原来的7版本

    在base.py文件中注销了 self.cursor.numbersAsStrings = True

    4)python manage.py migrate 报错

    因为cx_Oracle位原来的7版本对应的是Oracle12c版本,12c增加了类似MySQL的表的主键自增,

    导致插入数据id为空,插入比进去,这个ID是表的主键,因此间表的主键删除,插入数据后,在加上。

    。。。。

    再次执行,表已存在。。。直接放弃

  • 相关阅读:
    多表联查统计数字
    在null情况下判断
    一个搜索框实现同一表内多个属性的搜索
    分页固定显示信息数
    git常用命令
    java 常用知识点
    Win10 系统直接在目录下打开cmd
    Linux环境 通过sftp启动jar包
    使用Navicat导出可执行脚本 SqlServer数据库某表的部分数据
    C#常用快捷键
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10573087.html
Copyright © 2011-2022 走看看