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配置目录
来源:oschina
链接:https://my.oschina.net/u/4297712/blog/3559867