测试主机:
Kylin Linux Advanced Server V10(银河麒麟)
,
Python 2.7.5
,
cx_Oracle 7.3.0
,
Instant Clinet Base19.24.0.0.0
和
SQL*Plus19.24.0.0.0
1. KylinOS概述
KylinOS实际上就是Linux操作系统,它是基于Linux内核开发的国产操作系统。现在越来越多人开始使用KylinOS,所以再出一期KylinOS如何安装Oracle,也是Python2.7。前文写了MacOS如何通过cx_Oracle连接数据库和CentOS如何通过cx_Oracle连接数据库,有兴趣的小伙伴可以点击连接看看这两篇文章。
说来惭愧,其实博主也是在测试的时候发现了KylinOS可以可以用和Linux相同的包安装。本文很多内容和上一篇CentOS文章一样,请大家见谅,因为实在是很像!!
2. 安装cx_Oracle
由于在PyPI上没有找到对应的KylinOS的cx_Oracle的包,所以打算用pip安装,其实由于KylinOS内核就是Linux,所以使用Linux也不是不可以,为了节省时间打算用pip在远程主机直接安装。
这里选的版本仍然是适合Python2.7的7.3.0
版本。
pip install cx-Oracle==7.3.0
2. 下载Oracle Instant Client
和CentOS一样,Oracle Instant Client可以在官网直接下载,只要选择和CentOS一样的Linux x86_64版本即可,不懂的小伙伴可以翻CentOS这篇文章。
Python2.7支持的cx_Oracle版本较低,所以不能下载较高版本的Oracle Instant Client,不然会报错。
这里选择了Version 19.24.0.0.0 (Requires glibc 2.14)
,正好可以适配7.3.0
版本的cx_Oracle。要下载两个文件Basic Package
和SQL*Plus Package
。
3. KylinOS设置
登陆到KylinOS主机,上传两个客户端的两个安装包。
# 安装依赖包
yum install libaio
yum install libaio-devel
yum install libnsl
# 解压安装包
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 16:46:02 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数据库。