zoukankan      html  css  js  c++  java
  • 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)  得到了完美解决.

  • 相关阅读:
    Java 中的按值传递
    字符串排序(非字典排序)
    字符串匹配的KMP算法(转)
    效率更高的整数转化为字符串函数
    Trie 树(转)
    C 语言字符串(译)
    linux 下 epoll 编程
    CSS攻击:记录用户密码
    Wireshark(抓包神器)使用方法
    搭建KVM环境——Linux上安装KVM带web管理界面
  • 原文地址:https://www.cnblogs.com/afeiyuanda/p/13968877.html
Copyright © 2011-2022 走看看