【发布时间】: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