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

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

Django 数据库连接配置(Oracle、Mysql)的更多相关文章
- [Database]各数据库连接配置:Oracle:thin 数据库连接/MySQL 连接配置
MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdb ...
- jdbc -- 001 -- 一般方式创建数据库连接(oracle/mysql)
连接数据库步骤: 1. 注册驱动(只做一次) 2. 建立连接(Connection) 3. 创建执行SQL的语句(Statement) 4. 执行语句 5. 处理执行结果(ResultSet) 6. ...
- Django——数据库连接配置
配置settings.py : DATABASES = { 'default': { #default表示默认,也可以指定app 'ENGINE': 'django.db.backends.mysql ...
- 数据库连接池配置 - Oracle,SQL Server,DB2,MYSQL,SQLLITE3
################## 数据库连接配置 ################## #Oracle#hibernate.connection.driverClass=oracle.jdbc.d ...
- Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)
Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...
- Django框架(二)-- 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get
一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1 ...
- Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get
目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...
- 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 ...
- django框架配置mysql数据库
django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...
随机推荐
- 分散的配置文件VS集中的注册表
假设有这样一个工程,是这样设计的: 1整个软件.服务被切分为 由若干独立的多道程序(多个进程/微服务): 2 这些多道程序只是“机制mechanism”,而“策略strategy”写在各自用到的配置文 ...
- 牛客网NOIP赛前集训营-提高组(第一场)A 中位数
中位数 思路: 二分答案 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include< ...
- 记录python接口自动化测试--根据excel中的期望输出是否存在请求返回的响应来判断用例是否执行成功(第八目)
1.首先在excel中的expectValue列填好预期结果值 这里判断接口成功的依据是预期结果值是否存在于接口返回的数据中. 首先,要知道在之前封装的get/post请求方法中返回的是‘str’,也 ...
- legend2---开发日志9(vue常见无法自动更新改变的原因是什么)
legend2---开发日志9(vue常见无法自动更新改变的原因是什么) 一.总结 一句话总结:没找到变量,比如在computed属性中vue的变量没加this 没找到变量 1.函数中var bott ...
- android 趟坑记
又是一个伤感的故事,但阿古好像已经习以为常了. 大半年的辛苦又泡汤了,故事是这样. 帝都某高端小区,封闭局域网,做一个可视对讲+门禁的APP,之前那一版因为使用了商业代码,又不想花钱,于是找阿古换一个 ...
- 雷林鹏分享:XML 注意事项
XML 注意事项 这里列出了您在使用 XML 时应该尽量避免使用的技术. Internet Explorer - XML 数据岛 它是什么?XML 数据岛是嵌入到 HTML 页面中的 XML 数据. ...
- linux权限管理之文件属性
文件属性 chattr ======================================================== 文件权限管理之: 文件属性注:设置文件属性(权限),针对所有用 ...
- java.lang.IllegalArgumentException: Service Intent must be explicit 解决办法
java.lang.IllegalArgumentException: Service Intent must be explicit 意思是服务必须得显式的调用 我之前是这样使用绑定Service的 ...
- Confluence 6 删除一个空间
删除一个空间将会完全删除空间和空间的所有内容,包括有关这个空间的所有日历,和链接到这个空间中的问题.只有具有空间管理员权限的用户才能够完全删除一个空间. 删除空间是完全从系统中删除的.一旦你删除了一 ...
- 2 爬虫 requests模块
requests模块 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,reques ...