• 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)  得到了完美解决.

  • 相关阅读:
    MYSQL设置允许所有访问
    解决ios端的H5,input有阴影的问题
    linux查看某个时间段的日志(sed -n)
    centos如何创建自启动脚本
    laravel做数据迁移的时候进行表的注释
    taro编译微信小程序,报错“未找到setmap.json文件”
    java百科常识
    spring自动装配
    top命令内容详解
    jemter 随机取数组里面的值放入请求
  • 原文地址:https://www.cnblogs.com/afeiyuanda/p/13968877.html
Copyright © 2020-2023  润新知