一、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. Dreamweaver 1 网页制作

    1.站点 1.1 创建站点 点击菜单栏中站点进行站点创建,输入站点名称,路径 1.2 设置图像文件夹 1.3 站点管理 站点的编辑.复制.删除 2.页面属性栏 2.1 外观 1.设置页面整体的字体.大 ...

  2. MYSQL常用函数(聚合函数(常用于GROUP BY从句的SELECT查询中))

    AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 ...

  3. ionic toggle点击返回true/false支持自定义

    <ul class="list"> <li class="item item-toggle"> 手机提醒 <label class ...

  4. 虚拟机中不能连接usb设备解决办法

    虚拟机中不能连接usb设备解决办法 1.点击开始->运行,在对话框中输入"services.msc",确定,打开windows服务管理器.2.在服务列表中选中"VM ...

  5. firewalld管理防火墙常用命令

    1.查看防火墙的状态 [root@localhost HMK]# firewall-cmd --state 查看防火墙的运行状态 not running [root@localhost HMK]# s ...

  6. Redis入门指南之二(安装及配置)

    本节主要内容 1. 前言2. redis安装3. 启动和停止Redis 1. 前言 安装Redis需要知道自己需要哪个版本,有针对性的安装,比如如果需要redis GEO这个地理集合的特性,那么red ...

  7. Go语言学习之6 反射详解

    1.反射: 定义: 反射就是程序能够在运行时检查变量和值,求出它们的类型.                   可以在运行时动态获取变量的相关信息                   Import ( ...

  8. LeetCode--042--接雨水(java版)

    给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 ...

  9. LeetCode--350--两个数组的交集2

    问题描述: 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = ...

  10. linux 下如何安装memcached 和启动服务

    一.安装gcc # yum -y install gcc 二.安装libevent # wget http://www.monkey.org/~provos/libevent-2.0.12-stabl ...