千家信息网

不安装Oracle使用cx_Oracle

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,使用Python连接Oracle数据库的环境非常麻烦,尤其在window下的配置,默认情况下需要安装Oracle数据库才行,对于不想在机器上安装Oracle的用户来讲,安装过程会出现各种问题。最常见的
千家信息网最后更新 2025年11月08日不安装Oracle使用cx_Oracle

使用Python连接Oracle数据库的环境非常麻烦,尤其在window下的配置,默认情况下需要安装Oracle数据库才行,对于不想在机器上安装Oracle的用户来讲,安装过程会出现各种问题。最常见的如下:

  1. 安装出错:distutils.errors.DistutilsSetupError: cannot locate Oracle include files in ……

  2. 运行出错:cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle ……

从网络查找了很多资料,方法基本类似,但是有误导的地方,所以,刻意实验并记录一下,以便日后参考,并希望能够帮到遇到类似问题的朋友。此次安装环境为Window 10 64bit+Miniconda3-latest-Windows-x86_64.exe+instantclient-basic-windows.x64-11.2.0.4.0.zip,其他环境,比如python2.7、python3.5及其他版本windows操作系统和instantclient-basic-windows.x64-12.1.0.2.0.zip也可以参考解决。

解决步骤:

  • 下载cx_Oracle的.exe文件。

在windows下使用easy_install或者pip会出现报错:distutils.errors.DistutilsSetupError: cannot locate Oracle include files in...,所以,需要使用.exe文件进行安装。打开网址https://pypi.python.org/pypi/cx_Oracle,在页面选择适合自己操作系统、Python版本、Oracle版本的链接下载即可。

  • 下载Oracle Instant Client

? 从 Oracle官方网站(一定是在英文网站进行下载,中文网站更新较慢,最新版本为11.2.0.3.0,且下载速度超慢)下载Oracle Instant Client for Microsoft Windows(x64),在这里下载的是11.2.0.4.0版本的,其他版本没有尝试。 下载解压到目标文件夹,本次解压到D:\software\Oracle\instantclient_11_2 中,并将该路径添加到系统的环境变量,命名为ORACLE_HOME,将ORACLE_HOME添加到path下,否则会报错 cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle 本例中为:ORACLE_HOME=D:\software\Oracle\instantclient_11_2 上述步骤完成之后,重新进入Python交互环境,然后使用下面的代码进行测试:

 >>> import cx_Oracle>>> db=cx_Oracle.connect('rhin/rhin@10.100.101.40/imis')>>> print(db.version)11.2.0.1.0>>>

至此,整个过程完成。注意,不需要再本机上安装Oracle,也不需要新建NETWORK/ADMIN目录添加tnsnames.ora文件,更不要把oci.dll移到site-packages。 整个过程主要参考 淡水的天空|Python cx_Oracle 安装小记 ,在此表示感谢。本文章内容应该也可以解决Linux不安装Oracle使用SQLAlchemy的问题,但没有进行相应的验证。

版本 环境 文件 系统 网站 过程 问题 参考 操作系统 数据 数据库 步骤 中文网站 代码 及其他 变量 地方 天空 官方网站 小记 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库两表全关联 万方数据库专利查询 网络安全法警示教育视频 云南昭通网络安全宣传 画网络安全的画怎么画 游戏服务器登录超时是怎么回事 网络安全深信服怎么样 如何删除数据库的表 php安全链接数据库 网易版连接ip服务器 服务好的oa办公软件开发电话 浙江通信软件开发服务创意 网络安全面临哪些外在威胁 光网络技术通常可分为 学校冬残奥网络安全保障工作总结 我的世界服务器管理日记2 数据库五个组成部分包括 战争服务器英语 《网络安全法》背景和意义 江宁区网络安全进校园答案 平板吃鸡显示无法连接服务器 当今主流的数据库技术 江苏安卓软件开发平台 顺科软件开发深圳公司电话 血液透析运行数据库总结分析 恬恪学习网数据库安装 网络安全渗透测试是怎么回事 ios软件开发文献综述 中孚服务器权限管理 网站服务器的源码怎么永久删除
0