Django连接oracle数据库的那些问题
Django连接oracle数据库的那些问题
环境:
- windows 7 64位
- python 3.6.5 32位
- oracle客户端11.2 32位
- django1.11.20 (django2.x版本不支持oracle客户端11g了)
- cx_oracle 6.0 32位
在搭建环境的的时候python、oracle客户端、cx_oracle位数必须保持一致,如果不保持一致会造成各种奇怪的BUG!
- Python的安装:一直next就可以了
- django安装
pip install django==1.11.20
- cx_oracle安装:cx_oracle库安装千万不要使用pip install cx_oracle直接安装,去pypi上找到自己需要的版本以及对应的python和oracle客户端的位数下载whl文件,下载完成后切换到下载目录,执行:
pip install cx_Oracle-6.0-cp36-cp36m-win32.whl
- oracle客户端的安装:执行exe文件一直下一步直到安装完成,安装完成后编辑D:\OraClient Lite\product\11.2.0\client_lite\network\admin\tnsnames.ora文件(这个文件路径根据你安装的oracle客户端位置变化而变化)
SERVER=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip )(PORT = 端口))
)
(CONNECT_DATA =
(SID = 写你自己数据库的sid)
)
)
配置环境变量:右击计算机 -> 高级系统设置 -> 环境变量 -> 系统变量下找到Path ->选中后编辑 -> 在最后写个分号(;)加上oracle客户端安装路径下的bin/sqlplus,如:D:\OraClient Lite\product\11.2.0\client_lite\bin\sqlplus
- django项目的新建
略 - django项目连接oracle数据库:在settings.py中进行配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'SERVER', # 这里写你上面配置tnsnames.ora中的名字
'USER': '你数据库的帐号',
'PASSWORD': '你数据库的密码',
},
}
到这里基本上就结束了,剩下的是你自己的业务开发,最开始搭建开发环境的时候搭建了两天,几个软件版本换了又换,今天web部署到服务器上装环境的时候因为oracle 客户端的版本装的是64位,整了半天