Linux下Python连接Oracle 报cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be load

news/2024/6/18 4:00:19 标签: centos, python, oracle

Linux下使用Python连接Oracle 报cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded解决方法

 

在Linux上使用python运行数据库脚本的时候报:cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded解决方法

这个导致这个问题的原因是本机的Python2.7是64位的,而数据库用了32位的instantclient-basic,所以要把instantclient-basic的版本更新为64位的

 

以下是按照官网文档操作的,自测没有问题.

下载instantclient-basic的RPM包或者ZIP包,64-bit or 32-bit,这里下载64位。

 

以下分别是RPM包和ZIP包的安装方法,两者皆可

ZIP安装方法

  1.解压ZIP包并放到新建的目录中

1

2

3

# mkdir -p /opt/oracle

# cd /opt/oracle

# unzip instantclient-basic-linux.x64-12.2.0.1.0.zip

       注:如果没有unzip命令,

              安装支持ZIP的工具

               yum install -y unzip zip

    2.使用root用户安装 libaio 包(主:在一些发行版中这个包称为libaio1)

1

# sudo yum install libaio

  3.如果服务器上没有其他的Oracle软件会受到影像,那么可以永久将客户端添加到运行时链接路径中,列如,使用sudo或作为根用户

1

2

# sudo sh -c "echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf"

# sudo ldconfig

  或者将环境变量LD_LIBRARY_PATH设置为instantclient版本适当的目录

1

# export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH

  4.创建及时客户端的应用程序的Oracle配置目录

1

# mkdir -p /opt/oracle/instantclient_12_2/network/admin

 

RPM安装方法

  1.使用root用户安装下载的RPM包,yum安装会自动安装所需要的依赖包,比如libaio

1

# sudo yum install oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

  3.如果服务器上没有其他的Oracle软件会受到影像,那么可以永久将客户端添加到运行时链接路径中,列如,使用sudo或作为根用户

1

# sudo sh -c "echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"

1

# sudo ldconfig

  或者将环境变量LD_LIBRARY_PATH设置为instantclient版本适当的目录

1

# export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH

  4.创建及时客户端的应用程序的Oracle配置目录

1

# sudo mkdir -p /usr/lib/oracle/12.2/client64/lib/network/admin


http://www.niftyadmin.cn/n/1721458.html

相关文章

服务消费和负载(Ribbon)

使用RestTemplate调用服务 在上一篇教程中,我们是这样调用服务的,先通过 LoadBalancerClient 选取出对应的服务,然后使用 RestTemplate 进行远程调用。 LoadBalancerClient 就是负载均衡器,默认使用的是 Ribbon 的实现 RibbonLoad…

阿里云centos7.x 打开80端口

一 :阿里云centos7.x用iptables打开80端口 1、安装iptables:yum install iptables-services(阿里云centos7 默认 是使用的firewall,所以要使用iptables需先安装) 2、相看filrwall是否关闭: 查看&#xff…

idea使用过程中的基本配置

换了新公司,也换了新IDE,相比之前的eclipse的确是好用太多了,现在简单记录一下使用中出现的问题和解决的方法: 1.console输出中文乱码 解决方案:在 IntelliJ IDEA 2016.1\bin\idea64.exe.vmoptionsIntelliJ IDEA 20…

深度学习在推荐系统的应用(二)

AFM模型(Attentional Factorization Machine) 模型原始论文Attentional Factorization Machines:Learning the Weight of Feature Interactions via Attention Networks模型架构模型原理\[ ŷ_{AFM}(x)ω_0∑_{i1}^{n}ω_{i}x_{i}p^T∑^{n}_{i1}∑^{n}_{ji1}a_{ij}(v_i⊙v_j)x_…

从了解机器学习开始

一、初识机器学习 一、什么是机器学习 1、简单的说,机器学习就是把无序的数据转换成有用的信息 机器学习横跨计算机科学,工程技术和统计学等多个学科,需要多学科的专业知识,它可以作为实际工具应用于从政治到地质学的多个领域&…

oracle 中以dba 账户来修改其他用户的密码

1.首先以dba账户进入oracle,这里我从PL/SQL登录 2.连接成功后; 打开command Window 之后输入 select username from dba_users 3. 若修改某一个用户密码, 修改用户口令 格式为: alter user 用户名 identified by 新密码;(以USER_…

idea开发常用的快捷键

下面这些基本上就是我在开发中常用的一些快捷键了:ShiftShift搜索某个文件ctrlshiftf搜索文本Ctrlaltb进入某个方法的实现Ctrlshiftf9重新编译Ctrlshiftf10控制台运行main方法CtrlD复制并粘贴当前行CtrlX删除当前行CtrlR替换文本CtrlF查找某个内容Altshift上箭头或下…

[jzoj 5661] 药香沁鼻 解题报告 (DP+dfs序)

interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一个点就必须把它到根节点的所有的点都选上考虑如何转移这个背包,发现一个点要么转移到$dfs$序比它大$1$的点上,要么…