Django连接oracle数据库
环境:
- windows 10 64位
- python 3.7.1 32位
- oracle客户端11.2 32位
- django1.11.20 (django2.x版本不支持oracle客户端11g)
- cx_oracle 7.1.1 32位
在搭建环境的的时候python、oracle客户端、cx_oracle位数必须保持一致,如果不保持一致会造成各种奇怪的BUG!
- Python的安装(Add to system path)
- django安装
pip install django==1.11.20
- cx_oracle安装:cx_oracle库安装不要使用pip install cx_oracle方式安装,去pypi上找到对应的python和oracle客户端位数的版本下载whl文件,下载完成后切换到下载目录(如果安装到虚拟环境,请active虚拟环境),执行:
pip install cx_Oracle-7.1.1-cp37-cp37m-win32.whl
- oracle客户端的安装:执行exe文件一直下一步直到安装完成,安装完成后编辑C:\work\instantclient_11_2_x86\network\admin\tnsnames.ora文件(路径根据安装的oracle客户端位置变化)
SERVER=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip )(PORT = 端口))
)
(CONNECT_DATA =
(SID = 写自己数据库的sid)
)
)
- 配置环境变量:右击计算机 -> 高级系统设置 -> 环境变量 -> 系统变量下找到Path ->选中后编辑 -> 加上oracle客户端安装路径,如:C:\work\instantclient_11_2_x86
- django项目的新建
略 - django项目连接oracle数据库:在settings.py中进行配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'SERVER', # 这里写上面配置tnsnames.ora中的名字
'USER': '数据库的帐号',
'PASSWORD': '数据库的密码',
},
}