首页 > 数据库 >Python连接Oracle

Python连接Oracle

时间:2023-11-15 22:07:51浏览次数:48  
标签:opt Python oracle cx 报错 Oracle Client 连接

报错信息:

  Traceback (most recent call last): cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html。

各种环境:

  Linux的运行环境为:3.10.0-327.el7.x86_64

  python环境为3.8

  Oracle version 19.0.0.0.0

报错产生原因:

  使用cx_oracle是需要客户端的机器环境(本地环境)缺少client而导致报错的产生(cx_Oracle requires Oracle Client libraries. The libraries provide the necessary network connectivity to access an Oracle Database instance. They also provide basic and advanced connection management and data features to cx_Oracle. The simplest way to get Oracle Client libraries is to install the free Oracle Instant Client “Basic” or “Basic Light” package. The libraries are also available in any Oracle Database installation or full Oracle Client installation. ) cx_oracle使用详情介绍地址-https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html

报错解决:

  先查看linux机器的型号 到https://www.oracle.com/database/technologies/instant-client/downloads.html 找到对应的版本进行下载,将下载的压缩包上传至虚拟机 创建文件夹 mkdir -p /opt/oraclecd /opt/oracle 将压缩包进行解压 cd /opt/oracle unzip instantclient-basic-linux.x64-21.1.0.0..zip 执行以下命令 sudo yum install libaio sudo sh -c "echo /opt/oracle/instantclient_21_1 > /etc/ld.so.conf.d/oracle-instantclient.conf" sudo ldconfig 环境变量配置 export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_1:$LD_LIBRARY_PATH

在Windows下解决: 到https://www.oracle.com/database/technologies/instant-client/downloads.html 网址找到对应的版本进行下载,将下载的压缩包解压,在解压的文件夹中将oci.dll oraocci21.dll oraociei.dll三个文件复制到python安装目录下 1.能执行则解决 2.未解决须配置环境变量


标签:opt,Python,oracle,cx,报错,Oracle,Client,连接
From: https://blog.51cto.com/u_16356845/8407334

相关文章

  • 基于Python的热门旅游景点数据分析系统的设计与实现-计算机毕业设计源码+LW文档
    开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:PyCharm浏览器:谷歌浏览器DROPTABLEIFEXISTS08375_menpiaoxinxi;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_set_cl......
  • 基于Python的高校成绩分析-计算机毕业设计源码+LW文档
    摘 要随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把高校成绩分析与现在网络相结合,利用计算机搭建高校成绩分析系统,实现高校成绩分析的信息化。则对于进一步提高高校成绩分析管理发展,丰富高校成绩分析管理经验......
  • python相关命令
    管理员权限:set-executionpolicyremotesignedpython-Vnvidia-smipython-mvenvvenv./vevn/Scripts/activate.batorvenv\Scripts\Activate.ps1pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cu116pipinstall-rrequir......
  • 通过无线SSH连接树莓派系统
    在树莓派开发的大多数情况下,没有显示屏和外接键鼠,此时就需要通过一些其他的方法来连接并操控树莓派系统配置无线路由器查看无线路由器机身上的使用说明在电脑上访问路由器的管理员页面设置允许路由器下连接的各设备互相访问安装树莓派系统:使用imager安装树莓派系统,因......
  • 【re】brainfuck转python代码
    直接用脚本:defshrinkBFCode(code):  cPos2Vars={} #位置对应的变量  cPos2Change={} #位置中+号增加的值  varPos=0  nCode=[]  incVal=0  lc=None  dataChangeOp=set(['+','-'])  dataShiftOp=set(['>',&#......
  • Python实现端口扫描
    实验环境攻击主机IP:172.18.53.145目标主机IP:172.18.53.28脚本编写思路:遍历连接目标的所有端口,如果连接成功说明该端口开放,为了提升效率,使用多线程执行代码实现如下:importthreadpoolimportsocketip=input("Entertheipaddressyouwanttoscan:")print("startpo......
  • Oracle多租户系列--多租户简要概述
    简要概述Oracle12cRelease1(12.1)引入了多租户选项,是Oracle数据库历史上最大的架构变化之一,引入了容器数据库(CDB)和可插拔数据库(PDB)的概念。容器数据库(CDB):从表面上看,它与传统的Oracle数据库非常相似,因为它包含了大部分您已经熟悉的工作部分(控制文件、数据文件、undo、te......
  • mac上python安装mysqlclient模块方法
    运行pycharm后,打开命令行窗口确保您已经安装了MySQL,并且包括了MySQL的开发文件。您可以通过Homebrew来安装MySQL:brewinstallmysql#安装mysqlclient之前,先安装openssl:brewinstallopenssl#使用以下命令来安装mysqlclient:envLDFLAGS="-I/usr/local/opt/openssl/i......
  • 常用的Python代码片段(地理相关)
    把pandas的dataframe转为geopandas的地理格式(dftogeodf)defdf2gdf(df,lon_col='longitude',lat_col='latitude',epsg=4326,crs=None):gdf=gpd.GeoDataFrame(df)gdf['geometry']=gpd.points_from_xy(x=df[lon_col],y=df[lat_col]......
  • 常用的Python代码片段(通用)
    递归Merge数据表df=functools.reduce(lambdaleft,right:pd.merge(left,right,how='left',on=['id','year']),[maps,pp,pp_doy_rainDayCounts,pp_moy_rainZscore,modis_temp,pop,])深复制Importcopycopy.deepcopy(init_map......