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


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

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

头条号:小豆君编程分享

相关文章
|
14天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
98 15
|
27天前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
26天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
25天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
26天前
|
存储 机器学习/深度学习 监控
南大通用GBase 8s数据库onbar基础使用教程
数据备份与恢复是确保数据安全和业务连续性的关键。onbar作为GBase 8s数据库的备份工具,需配合存储管理器使用,通过配置BAR_BSALIB_PATH等参数,实现数据的备份与恢复。本文详细介绍了onbar的配置、备份、恢复及监控流程,帮助数据库管理员构建高效的数据保护方案。
|
26天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
26天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
1月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
39 1
|
关系型数据库 数据库 Python
Python连接DB2数据库
Python连接DB2数据库
135 0
|
1月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
132 68

热门文章

最新文章