一、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是表的主键,因此间表的主键删除,插入数据后,在加上。

。。。。

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

Django 数据库连接配置(Oracle、Mysql)的更多相关文章

  1. [Database]各数据库连接配置:Oracle:thin 数据库连接/MySQL 连接配置

    MySQL:          String Driver="com.mysql.jdbc.Driver";    //驱动程序      String URL="jdb ...

  2. jdbc -- 001 -- 一般方式创建数据库连接(oracle/mysql)

    连接数据库步骤: 1. 注册驱动(只做一次) 2. 建立连接(Connection) 3. 创建执行SQL的语句(Statement) 4. 执行语句 5. 处理执行结果(ResultSet) 6. ...

  3. Django——数据库连接配置

    配置settings.py : DATABASES = { 'default': { #default表示默认,也可以指定app 'ENGINE': 'django.db.backends.mysql ...

  4. 数据库连接池配置 - Oracle,SQL Server,DB2,MYSQL,SQLLITE3

    ################## 数据库连接配置 ################## #Oracle#hibernate.connection.driverClass=oracle.jdbc.d ...

  5. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  6. Django框架(二)-- 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1 ...

  7. Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...

  8. jboss7.1.1配置数据库mysql与oracle

    环境: joss7.1.1安装成功,路径为:D:\profession\jboss-as-7.1.1.Final mysql-connector-java-5.1.18-bin.jar(mysql 5 ...

  9. django框架配置mysql数据库

    django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...

随机推荐

  1. kbengine学习2 创建项目

    官方文档https://www.comblockengine.com/docs/1.0/get-started/createproject/ 1.kbe服务器端 1.1 复制出一个assets文件夹, ...

  2. java web 方面

    1.Tomcat的优化经验. 2.http请求的GET与POST方式的区别. (1)get是从服务器上获取数据,post是向服务器传送数据. (2)get是把参数数据队列加到提交表单的ACTION属性 ...

  3. Python全栈开发-Day6-面向对象编程

    本节内容: 面向过程VS面向对象 面向对象编程介绍 类的语法 构造函数.析构函数 私有方法.私有属性 面向对象的特性:封装.继承.多态 1.面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法 ...

  4. learn python the hard way 习题1~5总结

    习题1 print 语句print('Yay! Printing.')print('I "said" do not touch this') 习题2:注释和 # 号 #(octot ...

  5. type convert

    背景# 在开发中,我们会碰到诸如String类型转换为Int等等问题,虽然处理起来简单,但是本着DRY(Don't Repeat Yourself )原则,还是有必要封装处理下: 具体代码:Maste ...

  6. Tomcat ----> 学习笔记

    源码之几个常见类和接口的关系 在学习Servlet的时候经常见到以下几个合成单词和非合成单词:Servlet.GenericServlet.HttpServlet.它们之间有联系的.接下来我把它们的联 ...

  7. (转)解决windows10下无法安装.net framework 3.5,错误代码0x800F081F

    1.下载 NET Framework 3.5的安装包netfx3.cab 将下载的文件复制到复制到 C 盘的 Windows 文件夹 后请在“命令提示符(管理员)”中执行下面的命令: dism /on ...

  8. stark组件base.html

    stark 组件基础页面base.html 文件 base.html 1. base.html 页面是 : stark组件增,删,改,查页面的公共部分,如头部导航栏,左侧的用户权限列表栏等. 2. b ...

  9. 小程序中this和that用法

    微信小程序中,在wx.request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据data的情况,这个时候,如果使用,this.data来获取,会出现获取不到的情况,调试页面也会报 ...

  10. redis之数据类型以及使用

    1 redis数据类型 1. string类型: 字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,也就是byte类型 最大容量是512M.2. hash类型: ...