AWS Lambda无法连接到Oracle Instant Client

时间:2018-03-06 05:57:43

标签: python-3.x amazon-web-services oracle11g aws-lambda rhel7

我有一个将内部部署Oracle数据库连接到Redshift的基本要求。

我需要使用AWS Lambda使用python连接到这两个数据库。虽然我通过导出psycopg2的Linux库实现了与Redshift的连接,但我遇到了Oracle数据库的问题。

以下是尝试连接到Oracle内部数据库的步骤:

  1. 安装了cx_Oracle,提出了cx_Oracle.cpython-36m-x86_64-linux-gnu.so和psycopg2-2.7.4.dist-info
  2. 安装基本的oracle客户端精简版64位for linux
  3. 将LD_LIBRARY_PATH设置为指向即时客户端软件包的lib文件
  4. 当我们使用cx_Oracle和Instant客户端的依赖项压缩我们的python文件时,AWS Lambda失败并出现以下错误:

      

    “DPI-1047:无法加载64位Oracle客户端库:\”libclntsh.so:无法打开共享对象文件:没有这样的文件或目录\“

1 个答案:

答案 0 :(得分:0)

在您的lib文件夹中,执行:

ln -s libclntsh.so.12.1 libclntsh.so

(或类似的,取决于您使用的版本)。