如何修复'cx_Oracle.DatabaseError:DPI-1047:无法找到32位Oracle客户端库:“ libclntsh.so:无法打开共享对象文件”

时间:2019-05-24 11:12:14

标签: python-3.x cx-oracle

我正在尝试使用cx_Oracle通过Raspberry Pi连接到Oracle,在执行python代码时遇到错误。

  

错误:“ cx_Oracle.DatabaseError:DPI-1047:无法找到32位Oracle客户端库:” libclntsh.so:无法打开共享的对象文件:没有这样的文件或目录“。有关帮助,请参见https://oracle.github.io/odpi/doc/installation.html#linux

import cx_Oracle
import RPi.GPIO as GPIO
import time
import signal
import sys
#import cx_oracle


con = cx_Oracle.connect('dmin/ZtVAxM52OCWoWEdVe5cN@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=swms.ctr1op5frvgj.ap-south-1.rds.amazonaws.com)(PORT=1521))(CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED)))')
#cursor = cx_Oracle.cursor()
#con = cx_Oracle.connect('test/test@orcl')
cursor = con.cursor()
cursor.execute("update BIN_DTL set B_STATUS='110' where B_ID='1001'")
con.commit()
print("DONE")
cursor.close()
con.close()

1 个答案:

答案 0 :(得分:0)

cx_Oracle要求安装Oracle客户端库,并且此错误表明未安装它们或配置不正确。据我所知,Raspberry Pi使用ARM架构,Oracle客户端库当前不支持该架构。您将不得不使用其他与Oracle数据库进行通信的方式-可能是通过另一台能够使用Oracle客户端库的机器进行通信。很抱歉成为坏消息的承担者!