Python连接Oracle10.2(32bit)

本文详细介绍了如何在Python环境下,使用cx_Oracle模块连接Oracle数据库的步骤,包括Python、cx_Oracle及Oracle客户端版本的选择与安装,适用于Windows和MacOS系统。
部署运行你感兴趣的模型镜像

公司的数据库版本比较老,本人客户端安装的是32位的Oracle 10.2。入门python以来一直因为cx_Oracle、python、Oracle三者之间的版本而折磨致死,终于总结出办法现整理如下:

最终版本列表:
python 3.6.8(32bit)
cx_Oracle 7.0.0(32bit)
Oracle Client 10.2(32bit)

windows 10(64bit)

python 3.6.8

官方下载地址即可:
python-3.6.8.exe

直接安装,记得卸载之前安装的版本,卸载请使用即将卸载的版本的exe安装文件进行uninstall,例如卸载3.7.3可下载3.7.3对应的exe安装文件,通过此文件进行卸载。

cx_Oracle 7.0.0

在pypi上进行下载,或自行搜索相同whl:
cx_Oracle-7.0.0-cp36-cp36m-win32.whl

下载后直接使用pip install cx_Oracle-7.0.0-cp36-cp36m-win32.whl进行安装即可。

Oracle 11.2

此时执行数据库连接仍会版本报错,可以在Oracle官网下载11_2文件夹,通过指引path路径加载即时path的方法加载11.2的客户端。

首先下载11_2的文件夹,此处需下载32bit版本:
microsoft-windows-32-downloads

下拉找到Instant Client Package - Basic,下载并解压
Instant Client Package - Basic
期间需要登录Oracle账号

MacOS(Big Sur 11.3.1)

安装全程以root用户身份进行

sudo su

首先创建oracle文件夹,之后下载的文件需移动到这个文件夹里进行处理。

mkdir /opt/oracle/

python 3.6.8

官方地址下载直接安装:
macOS 64-bit installer

cx_Oracle 7.0.0

官方地址下载tar文件:
cx_Oracle-7.0.0.tar.gz

# 进入下载文件夹移动zip文件到oracle文件夹
mv cx_Oracle-7.0.0.tar.gz /opt/oracle/
# 释放文件
tar -xzvf cx_Oracle-7.0.0.tar.gz 
cd cx_Oracle-7.0.0
# 构建文件
python3 setup.py build
# 开始安装
python3 setup.py install

Oracle 11.2

访问Oracle官网(需登录账号),下载instantclient-basic-macos.x64-11.2.0.4.0.zip(64-bit)

# 进入下载文件夹移动zip文件到oracle文件夹
mv instantclient-basic-macos.x64-11.2.0.4.0.zip /opt/oracle/
# 解压文件
unzip instantclient-basic-macos.x64-11.2.0.4.0.zip
# 新建lib文件夹
mkdir ~/lib
# 链接所有的文件到lib文件夹
ln -s /opt/oracle/instantclient_11_2/ ~/lib/

测试连接

python3
>>> import cx_Oracle
>>> cx_Oracle.connect('username/pwd@url:1521/server')
# 返回以下格式消息则成功
<cx_Oracle.Connection to username@url:1521/server>

开始

代码开头定义path的os变量写入刚刚11_2解压的路径:

# 使用即时客户端避免版本不兼容
os.environ['path']='D:\Program Files\instantclient_11_2' 
db=cx_Oracle.connect('username/pwd@url:1521/server')
print("oracle版本:", db.version)

搞定。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值