暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Linux下离线安装cx_oracle

原创 张鹏 2023-08-30
1106

Linux下离线安装cx_oracle

Linux中安装cx_Oracle
背景介绍
在linux服务器上,python版本为3.7安装cx_Oracle。
安装 instantclient
有账号的可以在官网上下载,官网网址如下:
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

没有账号又不想注册的,可以在gitee上下载,有github账号或者华为账号就行。
https://gitee.com/appcity/oracle-instantclient/blob/master/instantclient-basic-linux.x64-12.2.0.1.0.zip
新建oracle文件
这里是在data路径下,可以选择自己的路径
mkdir -p /data/oracle
cd /data/oracle
解压文件
将下载好的instantclient-basic-linux.x64-12.2.0.1.0.zip放在之前建好的路径下,然后使用如下命令解压:
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
建立连接,依次执行下面命令:
cd /opt/oracle/instantclient_12_2
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so

sudo sh -c “echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf”
sudo ldconfig

安装cx_Oracle
pip3 install cx_Oracle==8.3.0

测试
import cx_Oracle
conn = cx_Oracle.connect(‘账号’, ‘密码’, ‘XXip’) #连接数据库
cursor = conn.cursor()
print(“数据库连接成功!!”)

就装好啦!!!

以下文为准:
Linux下安装cx_Oracle,连接oracle数据库

提示:
1.如果是在oracle服务器上操作,不用进行任何配置,只要成功安装python3.8以上,安装成功cx_Oracle即可,不用instantclient的配置项
2.如果是独立安装,则需要安装instantclinet安装,ORACLE_HOME,LD_LIBRARY_PATH,

前言
通过python连接oracle数据库,在Linux服务器运行时,缺少cx_Oracle模块,则需要在linux下安装对应的依赖,需要用到的依赖如下:
①oracle客户端
②cx_Oralce
一、下载
查看python版本,确定需要使用的安装包版本

需要下载的依赖包:
cx_Oracle-8.2.1-cp36-cp36m-manylinux1_x86_64.whl
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-sdk-linux.x64-12.2.0.1.0.zip

二、安装依赖包
1.安装oracle客户端,#对于oracle数据库服务器上运行此过程直接跳过
在/opt目录下新建oracle目录,把下载的三个文件放入linux的/opt/oracle目录下
cd /opt
mkdir oracle
解压zip包,会在oracle目录下生成一个文件:instantclient_12_2
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip

配置环境变量
vim /etc/profile
末尾添加以下内容
#对于oracle数据库服务器上运行,已配置ORACLE_HOME,LD_LIBRARY_PATH
export ORACLE_HOME=/opt/oracle/instantclient_12_2
export LD_LIBRARY_PATH=LDLIBRARYPATH:LD_LIBRARY_PATH:ORACLE_HOME

执行环境变量生效
source /etc/profile

创建软连接(即快捷方式),实际上unzip instantclient时,19C的已创建,其它版本视情创建
cd /opt/oracle/instantclient_12_2
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so

配置动态库配置文件
sudo sh -c “echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf”
sudo ldconfig

ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

注:如果使用oracle服务器,libclntsh.so libocci.so直接就在$ORACLE_HOME/LIB目录下,因此直接使用oracle 用户,因为配置了ORACLE_HOME, LD_LIBRARY_PATH,直接使用cx_Oracle即可。

2.安装cx_Oracle

最后服务器能连网,直接使用pip install cx_Oracle命令安装

如下网站下载
https://pypi.org/project/cx-Oracle/8.3.0/#files
有cp36 cp37 cp38 cp39,只能实验一下安装版本,总有一个可以使用

/opt/oracle目录下执行以下命令:
pip install cx_Oracle-8.2.1-cp36-cp36m-manylinux1_x86_64.whl

三、验证是否安装成功
需要机器安装python3.8以上版本,安装方法见下文
执行以下命令,无报错,即是安装成功
python3 -c “import cx_Oracle”
pip3 list
进一步测试,运行查询命令
import cx_Oracle
conn = cx_Oracle.connect(‘oracle’,‘oracle’,‘192.168.110.23:1521/ORCL’)
cursor = conn.cursor()
print(‘连接数据库成功!’)
sql = “select * from student”
all = cursor.execute(sql)
print(all.fetchall())

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论