【问题标题】:docker run error : DPI-1047: Cannot locate a 64-bit Oracle Client librarydocker 运行错误:DPI-1047:找不到 64 位 Oracle 客户端库
【发布时间】:2020-02-10 11:31:41
【问题描述】:

我正在尝试使用 Oracle 数据库连接对一个非常简单的 python 应用程序进行 dockerize 并在 Docker 上执行它。此应用程序在我的本地机器上运行良好。

我能够成功构建此应用程序,但在 Docker 上执行它时出错。

DockerFile:

FROM python:3

ADD File.py /

RUN pip install cx_Oracle
RUN pip install pandas
RUN pip install openpyxl

CMD [ "python", "./File.py" ]

文件.py:

import cx_Oracle
import pandas as pd

#creating database connection
dsn_tns = cx_Oracle.makedsn('dev-tr01.com', '1222', service_name='ast041.com')
conn = cx_Oracle.connect(user=r'usr', password='3451', dsn=dsn_tns)
c = conn.cursor()

query ='SELECT * FROM Employee WHERE ROWNUM <10'
result = pd.read_sql(query, con=conn)
result.to_excel("batchtable.xlsx")

conn.close()

错误:

docker 运行 python_batchdriver:latest

cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libclntsh.so:无法打开共享对象文件:没有这样的文件或目录”。请参阅https://oracle.github.io/odpi/doc/installation.html#linux 寻求帮助

【问题讨论】:

    标签: python-3.x docker cx-oracle


    【解决方案1】:

    对于 cx_Oracle,您还需要安装 Oracle Instant Client 库。请参阅cx_Oracle installation instructions

    有多种方法可以在 Docker 中自动安装。一个例子是:

    RUN wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip && \
        unzip instantclient-basiclite-linuxx64.zip && \
        rm -f instantclient-basiclite-linuxx64.zip && \
        cd instantclient* && \
        rm -f *jdbc* *occi* *mysql* *jar uidrvci genezi adrci && \
        echo /opt/oracle/instantclient* > /etc/ld.so.conf.d/oracle-instantclient.conf && \
        ldconfig
    

    您还需要 libaio 或 libaio1 包。

    Docker for Oracle Database Applications in Node.js and Python

    另见Install Oracle Instant client into Docker container for Python cx_Oracle 请注意,如果您使用的不是基于 Debian 的 Linux 发行版,这些步骤可能会有所不同。

    【讨论】:

      猜你喜欢
      • 2019-12-06
      • 2019-01-06
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多