Python连接Oracle数据库完美教程

简介: Python连接Oracle数据库完美教程

最近小豆君在做python连接Oracle数据库时发现有很多坑,网上搜到的也是不够详细,故整理一下供大家参考,避免入坑

1 场景

你已经在服务器上创建了Oracle数据库

现在要用python去连接Oracle


2 连接Oracle基本知识

01ebd755782e4c909dad0843d3544acf.jpeg

我们使用python库cx_Oracle来连接Oracle

Oracle分服务端和客户端、服务端又分监听程序和数据库实例

所以,当我们在本地开发时,需要安装cx_Oracle、OracleClient


3 部件下载

我们确认的顺序是,一定要注意,如果你的python和OracleClient要都是32位的,64位的同理。

也就是说,只能有以下两种组合情况:

python_x86 => cx_Oracle(32和64都可以) => OracleClient_x86

python_x64 => cx_Oracle(32和64都可以) => OracleClient_x64

python我就不说了,直接到官网下

2.1 cx_Oracle

python3.6或更高版本,直接使用pip下载最新的即可

方法1: pip安装:python -m pip install cx_Oracle --upgrade

如果是python2,你需要下7.3版本的

方法2:下载其它版本 https://pypi.org/project/cx-Oracle/#history

要选择对应python版本的包下载

pip install xxx.whl

01ebd755782e4c909dad0843d3544acf.jpeg


2.2 Oracle Instant Client

Free tools and libraries for connecting to Oracle Database

01ebd755782e4c909dad0843d3544acf.jpeg

虽然oracle官网有如下介绍:

版本21客户端库可以连接到Oracle数据库12.1或更高版本。版本19、18和12.2的客户端库可以连接到Oracle数据库11.2或更高版本。12.1版本的客户端库可以连接到Oracle数据库10.2或更高版本。版本11.2客户端库可以连接到Oracle数据库9.2或更高版本。

但我还是推荐大家版本最好一一对应,如你要连接oracle11,则下载

01ebd755782e4c909dad0843d3544acf.jpeg

下载的文件解压,复制oci,oraocci11,oraociei11的3个DLL粘贴到你的Python目录的Lib/site-packages文件夹下面。(粘贴原因:不需要配置环境变量) ,否则你需要配置ORACLE_HOME环境变量


4 测试代码

def test():
    import cx_Oracle
    # 去掉以下注释则不需要拷贝动态库
    # import os
    # os.environ["ORACLE_HOME"] = r'F:\soft\setup\oracle\instantclient_11_2'
    user = 'scott'
    password = 'scott'
    host = '192.168.153.134:1521'
    service_name = 'helowinXDB'
    conn_str = f"{user}/{password}@{host}/{service_name}"# ('system/system@172.24.0.64:1521/helowinXDB')
    connect = cx_Oracle.connect(conn_str)
    cursor = connect.cursor()
    cursor.execute('select * from mytesttable')
    print(cursor.fetchall())
test()


参考链接:

cx_Oracle 8 Installation


喜欢本文的大家就点个赞吧,同时也欢迎关注

微信号:小豆君编程分享 (关注后,可加入小豆君交流群进行学习交流,也可第一时间看到最新文章)

头条号:小豆君编程分享

相关文章
|
6月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
545 93
|
5月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
687 7
|
5月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
313 0
|
6月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
6月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
287 13
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1532 11
|
6月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1122 5
|
6月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
434 8
|
6月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
537 0

推荐镜像

更多