1、各种软件
oracle11g 服务端,客户端--如果没有简易的install包也可以, cx_oracle,还有python,注意版本一定要对应,
2、安装
安装oracle服务端,客户端
python
如果是windows,将客户端bin目录中的ocx.dll copy到python跟目录
将X:\oracle\product\11.2.0\client_1\bin加入windows系统的path里
附,这里说明简易安装12.2.0.1的:
[root@centos7 ~]# ll oracle-instantclient12.2-* -l
-rw-r--r-- 1 root root 52826628 Aug 31 16:04 oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
-rw-r--r-- 1 root root 606864 Aug 31 16:02 oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
-rw-r--r-- 1 root root 708104 Aug 31 16:02 oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
安装之后配置环境变量/root/.bash_profile,追加
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib/:$LD_LIBRARY_PATH
说明,如果这里不安装
安装cx_oracle,这里是后来补上的,跟上边的oracle版本不配套,不过自己安装匹配即可
源码安装
在网站https://pypi.python.org/pypi找到对应的python版本下载源码文件
解压进入文件,然后执行,前提是你的python已经安装了
[root@centos7 cx_Oracle-6.0.2]# pwd
/root/cx_Oracle-6.0.2
[root@centos7 cx_Oracle-6.0.2]# python setup.py install
可以进入pip目录使用 pip install cx_Oracle安装,自动匹配版本
安装完之后配置oracle环境变量TNS_ADMIN
如果报错:cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found",则说明版本不对,下载对应的版本设置:
windows下解压instant-client,将其下所有dll文件复制到/lib/site-packages下面即可
linux的可以设置环境变量 export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH
3、使用
我安装的是wing ide工具,界面中输入
import cx_Oracle
db = cx_Oracle.connect('center', 'vion', 'ORCL_192.168.9.181')
print db.dsn
print db.version
查看结果