讲师中心 微信公众号
AI工具推荐 视频效率加速

如何配置Python环境通过cx_Oracle连接数据库?

冬雪小哥_3844

冬雪小哥_3844

发布时间:2026-11-04 11:11:12

|

719人浏览过

|

来源于php中文网

原创

不能只 pip install cx_Oracle 就完事——缺 Instant Client 会直接报 DPI-1047 或 ORA-24550;必须手动下载匹配版本的 Basic 包(非 Basic Light),解压至无空格无中文路径,Windows 加 bin 目录到 PATH、Linux/macOS 加 lib 目录到 LD_LIBRARY_PATH,并重启终端验证 import cx_Oracle 成功。

如何配置python环境通过cx_oracle连接数据库?

不能只 pip install cx_Oracle 就完事——缺 Instant Client 会直接报 DPI-1047 或 ORA-24550

Instant Client 下载和 PATH 配置是硬门槛

cx_Oracle 是基于 Oracle 客户端 C 库(OCI)的封装,它不自带 oci.dll(Windows)或 libclntsh.so(Linux),必须手动下载 Instant Client 并让系统能“看见”它。

  • 只下 Basic 包(不是 Basic Light),64 位 Python 就必须配 64 位 Instant Client,版本建议选 19.21 或 21.10(长期支持、兼容性稳)
  • 解压路径必须无空格、无中文,例如 C:\oracle\instantclient_21_10;Linux/macOS 要把该路径加进 LD_LIBRARY_PATH(不是 PATH)
  • Windows 下把 C:\oracle\instantclient_21_10\bin 加进系统级 PATH,改完后**必须重启所有终端和 IDE**,否则 Python 进程加载不到 DLL
  • 验证方式:新开命令行,运行 python -c "import cx_Oracle; print(cx_Oracle.version)";成功输出版本号才算过这一关

连接字符串写法和 service_name / SID 区别

Oracle 的连接标识容易混淆:service_name 和 SID 不是同一个东西,用错会导致 ORA-12514: TNS:listener does not currently know of service requested。

librosa Python 音频与音乐分析库
librosa Python 音频与音乐分析库

librosa 是一个用于音频和音乐分析的 Python 库。它提供了特征提取、频谱分析、节拍跟踪、起始检测和音频可视化的工具,基于 NumPy 和 SciPy 构建,用于科学音频计算。

下载
  • 现代 Oracle 数据库(12c+)默认启用 service_name,它由数据库自动注册,格式通常是 ORCLCDB.localdomain 或 XE
  • SID 是实例名,老版本常用,现在多数场景已不推荐;如果 DBA 给你的是 tnsnames.ora 片段,注意看 (SERVICE_NAME = ...) 还是 (SID = ...)
  • 连接字符串三种等效写法:
    cx_Oracle.connect("user/pass@host:1521/ORCLCDB")
    cx_Oracle.connect(user="user", password="pass", dsn="host:1521/ORCLCDB")
    tns = cx_Oracle.makedsn("host", 1521, service_name="ORCLCDB"); cx_Oracle.connect("user", "pass", tns)

中文乱码和 ORA-24550 崩溃问题

不处理编码和连接生命周期,程序可能跑着跑着就崩,或者查出来一堆问号。

立即学习“Python免费学习笔记(深入)”;

  • 中文显示/插入失败?在 import cx_Oracle 前加这句:os.environ["NLS_LANG"] = "SIMPLIFIED CHINESE_CHINA.AL32UTF8"(注意不是 UTF-8,是 AL32UTF8)
  • 进程退出时报 ORA-24550: signal received: Exception code=0xc0000005?说明连接对象没释放;务必用 conn.close(),更稳妥的是用上下文管理器:
    with cx_Oracle.connect(...) as conn:
        # do work
    # conn 自动 close
  • 如果用 SQLAlchemy,URL 中要显式指定 encoding:oracle+cx_oracle://user:pass@host:1521/XE?encoding=UTF-8&coerce_to_unicode=True

最常被跳过的其实是环境变量重载和 NLS_LANG 设置——这两个点不卡在开发机上,但一上测试服务器就集体失效。别信“本地能跑就行”,PATH 和环境变量得在目标环境里逐条验证。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1871

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

5064

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1809

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

30537

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3627

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3647

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1243

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

616

2023.08.10

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn