CentOS下Python2.7版本如何安装连接Oracle

测试主机:CentOS 7 X86_64Python 2.7.5cx_Oracle 7.3.0Instant Clinet Base19.24.0.0.0SQL*Plus19.24.0.0.0

1. 下载cx_Oracle

由于Python连接Oracle需要通过cx_Oracle并且需要Oracle客户端,前文写了MacOS如何通过cx_Oracle连接数据库。现在在CentOS上仍然可以操作,之前用的是Python3.12但是CentOS上用的是Python2.7.5。

登陆PyPI官网,搜索cx_Oracle。PyPI是一个为Python编程语言提供的软件仓库其中一个服务就是开发者可以将他们开发的Python包上传到PyPI,供全球的Python社区下载和使用。所以我们可以在官网上找到我们需要的包传到主机上。

cx_Oracle最新版本是8.3.0,但是需要的都是Pthon3.x,通过所历史版本发现7.3.0支持Linux版本,可以点击直接转跳7.3.0版本。选择名为cx_Oracle-7.3.0-cp27-cp27mu-manylinux1_x86_64.whl的安装包(倒数第四个),如果懒得话可以直接点击文件名下载QaQ。这就是我们需要的cx_Oracle安装包了。

在这里插入图片描述
在这里插入图片描述

2. 下载Oracle Instant Client

Oracle Instant Client可以在官网直接下载,‌Oracle Instant Client是一个轻量级且易于安装的Oracle数据库工具。不同的操作系统都可以下载,现在也支持了ARM架构的Macbook。由于CentOS是Linux x86_64的,所以选择对应的链接。

由于Python2.7支持的cx_Oracle版本较低,所以不能下载较高版本的Oracle Instant Client,不然会报错(踩坑,我还是用原来的23.5.0.0.0)因为cx_Oracle 7.3.0 不支持 GLIBC 2.27,所以只能降低Oracle Instant Client版本。

这里选择了Version 19.24.0.0.0 (Requires glibc 2.14),正好可以适配7.3.0版本的cx_Oracle。要下载两个文件Basic PackageSQL*Plus Package

3. CentOS设置

登陆到CentOS主机,上传whl文件和两个客户端的两个安装包。

# 安装依赖包
yum install libaio
yum install libaio-devel

# 解压安装包
unzip instantclient-basic-linux.x64-19.24.0.0.0dbru.zip -d /opt
unzip instantclient-sqlplus-linux.x64-19.24.0.0.0dbru.zip -d /opt

# 设置环境变量
cd /opt
vi .bashrc

export ORACLE_HOME=/opt/instantclient_19_24
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME

source .bashrc

# 测试是否成功
sqlplus

# 输出
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 26 10:01:44 2024
Version 19.24.0.0.0
 
Copyright (c) 1982, 2024, Oracle.  All rights reserved.

4. 测试cx_Oracle

vim test.py

# 写文件
import cx_Oracle

# 替换为你的实际用户名、密码和数据库连接字符串
username = 'username'
password = 'password'
dsn = 'localhost:1521/orcl'  # 数据源名称

# 创建连接
connection = cx_Oracle.connect(username, password, dsn)

cur = connection.cursor()
cur.execute("select * from TABLE")
for column in cur.description:
    print(column)

运行python test.py,如果终端有返回对应的值,表示成功链接Oracle数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值