• linux上,python3脚本中用cx_Oracle连接oracle数据库报Segmentation fault (core dumped)


    开发时在windows上进行的,没有遇到连接数据库的错误,但是迁移到linux环境执行时,遇到了这个问题。详细讲一下过程。

    1、环境:CentOS 6.5 , Oracle: 12.2 , python3.6, instantclient_19_9, cx_Oracle 8.0.1

    开始使用时提示GLIBC 2.14 没有,因为服务器自带的是 GLIBC2.12 ,所以重新安装了2.14,

    配置好以上环境后,执行脚本,连接数据库时总是报错: Segmentation fault (core dumped)  ,但是在python的交互模式却可以正常连接.

    查了好久,也没找到解决办法,最后看到一个帖子: https://stackoverflow.com/questions/58100432/segmentation-error-when-using-cx-oracle-with-pandas 才得以解决,因此记录下.

    2、主要原因是脚本中同时import pandas 了,去掉pandas后,脚本就可以正常执行了,不再报错.

    但是我们还是需要pandas的,所以继续参考上边那个帖子,降低instantclient的版本,到18,18使用GLIBC2.12 就可以了,于是下载18,打开这个网页,往下滚动,找到该版本

    https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html   ,下载红框标记的这个就可以:

    下载后,解压,并添加到LD_LIBRARY_PATH中即可.

    然后将之前环境变量中添加的glibc2.14 的环境变量去掉,就可以了.

    再测试脚本,Segmentation fault (core dumped)  得到了完美解决.

  • 相关阅读:
    Python中匿名函数的应用
    Python中界面阻塞情况的解决方案
    Python中的协程,gevent模块
    Python中的进程和线程
    Python中的正则表达式用法
    Jquery瀑布流效果(下篇)
    安卓不支持keypress事件
    让MAC OS也能使用LL LA L等LS的别名
    git 常用命令
    javascript中的apply与call
  • 原文地址:https://www.cnblogs.com/afeiyuanda/p/13968877.html
Copyright © 2020-2023  润新知