本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2019-10-29 | 编程技术 | 2002 次阅读 | 等你评论 | 0 次点赞 | 繁体
问题一:Python 连接 Oracle 数据库时报错 64-bit Oracle Client library cannot be loaded: "F:appAdministratorproduct11.1.0db_1BINoci.dll

原因:Python3.5 版本 64 位 oracle11g 32位 sqlplus 32位,连接后,报错如上。需要一个64位的

  1. windows版 解决办法:

    1)下载 instantclient-basic 64位的 地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html 
    
    2)下载后解压放到 python 安装目录下:E:\python\python\instantclient_11_2 
    
    3)设置环境变量 path : E:\python\python\instantclient_11_2;  注意:后面必须添加 ; 隔开
    
    4)配置完环境变量后,重启 pycharm,run 项目,问题就解决了
    
  1. LINUX版解决办法:

    检查 linux 系统中 python2.7 版本和 python3.6 版本是 32 位还是 64 位的命令如下:

    import platform 
    platform.architecture()

    问题概况:centos 中自带64位的 python2.7.5 ,在 docker 中又安装了个 64 位的 python3.6,本地安装的是 3.5 版本的 python,将程序放到 docker 中运行,注意1:

    #!usr/bin/env python3

    (注意:我开始写的 python,后面没有改成 3,所以即使安装了 pandas-py3.6 ,运行依然提示: no module named 'pandas',紧急之下,我给系统的 python2.7 卸载了,大坑,导致 yum、gcc 都无法安装了,切记:直接在程序开头:将 python 改成 python3 就可以了,如果遇到其他情况,欢迎留言交流。 )

    注意2:python2.7、python3.6 都是64位,cx_Oracle 也是按照 python3.6 版本兼容下载的,为啥就是报错:DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded:

    解决办法如下:

    1)下载linux版64位的instanclient,我下载的是instanclient11-2:连接:

    https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    2)在下载界面找到oracle对应的版本,复制连接

    3)在linux系统中新建文件夹,使用wget +连接,下载到当前新建的文件夹/home/instanclient中。

    4)将instanclient移动至python3.6安装目录下

    5)配置环境变量:

    6)在/etc/profile配置文件中配置:

    7)vi /etc/profile

    export

    LD_LIBRARY_PATH=/usr/local/lib/python3.6/instantclient_11_2:$LD_LIBRARY_PATH

    8)保存,退出

    9)source profile激活刚刚的配置文件

    10)再次运行时,即可成功。

以上 via:https://blog.csdn.net/weixin_39976528/article/details/83818542

问题二:ImportError :DLL load failed: 后面就是乱码

解决方法:import cx_Oracle 时,出现以上错误。将 oci.dll 文件复制一份放到 python 安装目录的 Libsite-packages 下面就可以了。

问题三:cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

解决方法:oraociei11.dll 复制到 python 安装目录的 Libsite-packages 下面

标签: pythonoracle数据库

猜你喜欢
Python小技巧之不用GUI,照样实现图形界面
小王平常的工作是做数据处理的,手中自然握有大量的数据,在日常工作中经常需要根据业务的需求提取相应的数据,有些需求是固定的,写好脚本之后只要定期提取数据就行了。但是,像我这么懒的人,这种工作怎么可...
如何定位Mysql中CPU占用高的查询语句
今天 mysql 服务器突然 CPU 告警,记录一下问题查找的过程第一步查看具体是哪个线程占用CPU最高1、在 Linux 中使用 top 命令找到 mysql 进程 PID2、指定进程 PID...
python | 协程与多进程的完美结合
我们知道,协程本质上是单线程单进程,通过充分利用 IO 等待时间来实现高并发。在 IO 等待时间之外的代码,还是串行运行的。因此,如果协程非常多,多少每个协程内部的串行代码运行时间超过了 IO ...
为什么网站知道我的爬虫使用了代理?
经常有朋友问:为什么自己的爬虫明明设置了代理,但一访问网站就能被发现。我总结了几种常见的情况。实际上,网站要识别你是否使用了代理,并不一定非要什么高深的反爬虫机制,也不需要使用 AI 识别用户行...
像程序员一样安装程序:Chocolatey 初见
每次拿到一台新的电脑,快速安装上所有自己需要的程序是一件非常非常耗时间的事情。 如果去国内各大第三方下载站,或者电脑管家、百度的安装工具,它们很多都会把原生的安装包进行修改,加入自己的广告或其他
CentOS7 Shadowsocks 安装配置教程
### 安装 pip (一般安装了 python 就有 pip,无需手动安装直接跳过此步骤即可) pip 是 python 的包管理工具。在本文中将使用 python 版本的 shadowsocks
(首次提交评论需审核通过才会显示,请勿重复提交)