登录
首页 >  文章 >  python教程

Python连接Oracle数据库全攻略

时间:2026-02-26 08:13:54 386浏览 收藏

本文详细介绍了在Python中连接Oracle数据库的完整实践指南,涵盖从下载配置Oracle Instant Client、安装现代官方驱动oracledb(替代cx_Oracle),到跨平台(Windows/Linux/macOS)环境变量设置与连接测试的全流程,并针对性地解析了DLL加载失败、库路径缺失、监听器拒绝等高频报错的根源与解决方案,帮助开发者一步到位打通Python与Oracle的数据通道。

python oracle数据库如何安装?

要在Python中连接和操作Oracle数据库,你需要安装相应的驱动和客户端工具。以下是完整的安装步骤,适用于Windows、Linux和macOS系统。

1. 安装Oracle Instant Client

Python本身不直接支持Oracle数据库,需要依赖Oracle提供的底层客户端库(Instant Client):

  • 前往Oracle官网下载页面
  • 根据你的操作系统选择对应的Instant Client版本(建议使用Basic Light或Basic包)
  • 解压下载的文件到本地目录,例如:C:\oracle\instantclient_21(Windows)或/opt/oracle/instantclient_21_6(Linux/macOS)
  • 将该目录添加到系统的环境变量PATH

2. 安装Python驱动 cx_Oracle

cx_Oracle是Python连接Oracle数据库的官方驱动,现在已更名为python-oracledb,推荐使用新版本:

pip install oracledb

如果你仍需使用旧版cx_Oracle(不推荐):

pip install cx_Oracle

3. 验证安装并测试连接

写一段简单代码测试是否能成功连接Oracle数据库:

import oracledb

try:
    connection = oracledb.connect(
        user="your_username",
        password="your_password",
        dsn="hostname:port/service_name"
    )
    print("连接成功!")
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM dual")
    print(cursor.fetchone())
except Exception as e:
    print("连接失败:", e)

4. 常见问题处理

  • DLL load failed(Windows):确认Instant Client版本与系统架构一致(32位/64位),并正确配置PATH
  • libclntsh.so not found(Linux):设置LD_LIBRARY_PATH指向Instant Client目录
  • ORA-12541: No listener:检查数据库主机、端口和服务名是否正确
  • macOS可能需要额外设置DYLD_LIBRARY_PATH

基本上就这些。只要Instant Client配置正确,再安装oracledb包,就能顺利在Python中操作Oracle数据库。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>