Python连接Oracle10.2(32bit)

公司的数据库版本比较老,本人客户端安装的是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)

搞定。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1)rpm格式包安装配置 1.1 下载以rpm后缀名的包,以11.2.0.4.0 版本为例,其中基础包basic、sql*plus、devel包建议默认下载,其他包视情况而定: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus的即时客户端oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --补充包/文件,为运行ODBC环境附加库; oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm --补充JDBC下的XA、国际标准、行集操作; oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm --包含头文件和示例文件,为开发Oracle应用程序的即时客户端; 1.2 使用rpm -ivh [包名] 进行安装, 如:rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 安装的文件默认放在两个位置: 头文件:/usr/include/oracle/11.2/client64/ 下,如果在使用时报错找不到头文件,记得看路径是否是这个。 包文件:/usr/lib/oracle/11.2/client64/ 下,包含{bin、lib}两个文件夹; 1.3 创建文件夹: #mkdir -p /usr/lib/oracle/11.2/client64/network/admin/ 1.4 创建监听文件,并添加内容 #vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) ) 1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局使用,为限制用户权限,可只修改某一用户的环境变量 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG='simplified chinese_china'.ZHS16GBK export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH 1.6 使配置完的环境变量生效 #source ~/.bashrc 1.7 连接数据库测试 #sqlplus /nolog SQL>conn scott/tiger@orcl 2)zip格式包安装配置(只以basic包做为示例) 2.1 下载包:oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 2.2 将包文件解压到指定目录下: #unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 解压后的文件存放路径可以自行设定,但是与后面环境变量设定有关,本文设定/home/orcl/ 下。 头文件目录:/home/orcl/sdk/include/ 库文件目录:/home/orcl/instantclient_11_2/ 2.3 创建 network/admin/ 目录:mkdir -p /home/orcl/instantclient_11_2/network/admin/ 2.4 创建监听文件 tnsnames.ora #vim /home/orcl/instantclient_11_2/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.232.131)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 2.5 配置环境变量 #vim ~/.bashrc export ORACLE_HOME=/home/orcl/instantclient_11_2 export TNS_ADMIN=$ORACLE_HOME/network/adminexport export NLS_LANG='simplified chinese_china'.ZHS16GBKexport export LD_LIBRARY_PATH=$ORACLE_HOME export PATH=$ORACLE_HOME:$PATH 2.6 配置完成后,将环境变量生效 #source ~/.bashrc 2.7 测试连接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值