Python连接Oracle数据库:cx_Oracle安装与配置指南

小满
小满
发布时间:2026-10-14 | 4人浏览过
原创

本文详细介绍在Windows和Linux环境下,使用Python连接Oracle数据库的完整流程。涵盖cx_Oracle扩展库与Oracle Instant Client的下载、安装步骤,以及环境变量的配置方法。文中提供了针对Python 2.7和2.6的具体操作示例,包括解决依赖冲突的rpm安装技巧及代码测试验证,帮助开发者快速搭建Python与Oracle的连接环境。

Python连接Oracle数据库概述

本文详细介绍在Python中安装Oracle扩展库并建立数据库连接的具体方法,供开发者参考实践。

软件资源下载

首先需要获取必要的软件资源。

cx_Oracle库的官方下载地址为:http://cx-oracle.sourceforge.net/;Oracle Instant Client基础包的下载地址为:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html。

Windows环境配置步骤

以下分别介绍Windows和Linux环境下的配置步骤。

以Windows系统为例,Python版本为27,Oracle版本为10。

准备以下软件包:

cx_Oracle-5.1.2-10g.win32-py2.7.msi instantclient-basic-win32-10.2.0.4.zip

1. 直接双击运行.msi文件,即可完成cx_Oracle的安装;

2. 解压instantclient-basic-win32-10.2.0.4.zip文件,将其中的所有.dll文件复制到F:\Python27\Lib\site-packages目录下。

Linux环境配置与测试

接下来介绍Linux环境下的配置方法。

以Linux系统为例,Python版本为26,Oracle版本为10。

准备以下软件包:

cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm basic-10.2.0.4.0-linux-x86_64.zip

1. 执行命令 rpm -ivh cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm 进行安装; 2. 具体配置细节可参考链接:https://www.jb51.net/article/106295.htm。

配置系统环境变量以指向Oracle库路径。


vi /root/.bash_profile

在配置文件中增加以下两行内容:


export ORACLE_HOME=/usr/local/instantclient_10_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

执行 source /root/.bash_profile 命令使环境变量修改立即生效。

创建Oracle客户端库的符号链接。


cd $ORACLE_HOME
ln -s libclntsh.so.x.x libclntsh.so

重新安装cx_Oracle包。

注意必须添加 --nodeps 参数,否则可能会遇到依赖错误。

[root@BJ-UPDATE-01 ~]# rpm -ivh --nodeps cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm #注:5.0.3版本无需添加 --nodeps 参数。

最后进行连接测试。


#Python
>>> import cx_Oracle
>>> db = cx_Oracle.connect('user/psw@114.242.113.91:1521/orcl')
>>> print db
<cx_Oracle.Connection to user@114.242.113.91:1521/orcl>
>>> cr=db.cursor()
>>> cr.execute("select * from LOGININFO")
<__builtin__.OracleCursor on <cx_Oracle.Connection to user@114.242.113.91:1521/orcl>>
>>> rs=cr.fetchall()
>>> print rs
[('40288a8542746fd90142746fdbb50001', 'cccccc', 1, 1, None, None, None), ('40288a85427474b601427474b8270001', 'eeee', 1, 1, None, None, None), ('40288a854273bce0014273bee6310002', 'dddddd', 0, 0, None, None, None), ('40288a854274532d014274532f600001', 'cccccc', 1, 1, None, None, None), ('40288a8542747c750142747c77ac0001', 'eeee', 1, 1, None, None, None), ('40288a8542744fb30142744fb5e90001', 'cccccc', 1, 1, None, None, None)]
>>>

更多关于Python数据库操作的内容,可参考本站《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》等专题文章。

希望本文提供的步骤能协助大家顺利完成Python程序设计中的数据库连接工作。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表