python连接oracle数据库

[亡魂溺海] 提交于 2020-12-04 07:14:27

python连接oracle数据库
需要oracle客户端的版本,cx_Oracle的版本,要与Python版本和位数对应,都是32位或者64位。


操作系统:64位
Python版本:Python3.5.0 64位;
cx_Oracle的版本:cx_Oracle-5.2.1-11c.win-amd64-py3.5
oracle客户端的版本:instantclient-basic-win-x86-64-11.2.0.1.0;

需注意的点:

版本位数对应,都是64位;

cx_Oracle和python版本对应,都是3.5;

cx_Oracle和instantclient版本对应,都是11;
cx_oracle和instantclient的版本不必和Oracle数据库版本一致


Windows:

 

1.pip install cx-Oracle==5.2.1

2.下载并安装oracle-instantclient11.2.x 后解压到指定文件夹,如:D:\oracle\instantclient_11_2

3.将instantclient的oci.dll文件放到$Python_Home\Lib\site-packages 目录下,不知道哪几个文件,就把整个解压的文件都复制过去即可


Mac:
1.pip install cx_Oracle

2.下载并安装instantclient-basic-macos.x64-11.2.x
下载连接 https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
 我下载的为instantclient-basic-macos.x64-11.2.0.4.0.zip

将程序包解压缩到应用程序可访问的单个目录中。例如:

mkdir -p /opt/oracle
unzip instantclient-basic-macos.x64-12.2.0.1.0.zip
添加链接$HOME/lib或/usr/local/lib使应用程序能够找到库。例如:

mkdir ~/lib
ln -s /opt/oracle/instantclient_12_2/libclntsh.dylib.12.1 ~/lib/
或者,复制所需的OCI库。例如:

mkdir ~/lib
cp /opt/oracle/instantclient_12_2/{libclntsh.dylib.12.1,libclntshcore.dylib.12.1,libons.dylib,libnnz12.dylib,libociei.dylib} ~/lib/
对于Instant Client 11.2,必须复制OCI库。例如:

mkdir ~/lib
cp /opt/oracle/instantclient_11_2/{libclntsh.dylib.11.1,libnnz11.dylib,libociei.dylib} ~/lib/
如果您打算同定位可选的Oracle配置文件,如tnsnames.ora,sqlnet.ora或oraaccess.xml与即时客户端,然后创建一个network/admin子目录。例如:

mkdir -p /opt/oracle/instantclient_12_2/network/admin
这是与此Instant Client链接的应用程序的默认Oracle配置目录

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!