说明: 本文档内容基于Python 2.7.8版本进行操作。
一、下载cx_Oracle
下载地址: https://pypi.python.org/pypi/cx_Oracle/5.1.3
二、下载Oracle客户端驱动(Oracle Instant Client Basic)
下载地址: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
三、Windows下载及安装
3.1 选择下载文件
3.2 点击下载文件后,会进入到登陆页面,登陆后就可以下载了.
3.3 输入用户名密码后,点击登陆按钮,则会弹出文件下载框。
3.4 双击打开文件,全部都是下一步,完成安装。
3.5 解压文件
3.6 进入到解压目录中
3.7 选中全部文件复制,然后粘贴到C:\Python27\Lib\site-packages\目录下
3.8 完成上述四个步骤之后,打开Pycharm会出现cx_Oracle模块
3.9 尝试编写几行代码来连接Oracle 10g数据库,看是否能正常工作.
第一种连接方法 cx_Oracle.connect()
第二种连接方法 cx_Oracle.makedsn()
四、Linux下载及安装
4.1 下载Oracle Instant Client Basic和SDK
4.2 安装客户端和SDK
[[email protected] ~]# mkdir /opt/oracle/ [[email protected] ~]# unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle/ [[email protected] ~]# unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip -d /opt/oracle/ # 设置环境变量(注意: 这种环境变量的定义方式,只能是当本机没有Oracle数据库时,才能定义ORACLE_HOME,若已经安装了ORACLE,则不能随便乱更改ORACLE_HOME)。 [[email protected] ~]# export ORACLE_HOME=/opt/oracle/instantclient_11_2 [[email protected] ~]# echo "export ORACLE_HOME=/opt/oracle/instantclient_11_2" >> /etc/profile # 创建一个动态链接, 这步操作如果不做,则会导致整个驱动无法完成编译. [[email protected] ~]# ln -s /opt/oracle/instantclient_11_2/libclntsh.so.11.1 /opt/oracle/instantclient_11_2/libclntsh.so # 将动态库文件复制或软链到/lib64/目录下,否则安装完成后,调用cx_Oracle会报错. [[email protected] ~]# find $ORACLE_HOME -type f | grep "\.so" | xargs cp --target-directory=/lib64/ # 开始编译并安装cx_Oracle [[email protected] ~]# tar zxvf cx_Oracle-5.1.3.tar.gz [[email protected] ~]# cd cx_Oracle-5.1.3 [[email protected] cx_Oracle-5.1.3]# /usr/local/Python-2.7.8/bin/python setup.py build [[email protected] cx_Oracle-5.1.3]# /usr/local/Python-2.7.8/bin/python setup.py install
4.3 编写一个Oracle连接程序
[[email protected] cx_Oracle-5.1.3]# cd ~/ [[email protected] ~]# vim connect_oracle.py #!/bin/env python # -.- coding:utf-8 -.- import cx_Oracle as cx con = cx.connect("vids/[email protected]:1521/vids") print con.version con.close() [[email protected] ~]# /usr/local/Python-2.7.8/bin/python connect_oracle.py 10.2.0.1.0
时间: 2024-10-29 19:08:19