如何在Alpine Linux Docker容器中安装"Microsoft Access Driver (*.mdb, *.accdb)"驱动程序



编写脚本以查找所有驱动程序

我创建了一个脚本来查找所有的"pyodbc"驱动程序:

import pyodbc
print([x for x in pyodbc.drivers()])

问题

在我的主机(安装了驱动程序的Windows(中,当我运行时,我会得到所有x64驱动程序:

> ['SQL Server', 'ODBC Driver 17 for SQL Server', 'Microsoft Access Driver (*.mdb, *.accdb)', 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)', 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)', 'Microsoft Access Text Driver (*.txt, *.csv)']

但是,当我使用Docker 时

FROM python:3.8-alpine
# Add dependencies
RUN apk upgrade
RUN apk add --no-cache curl gcc g++ unixodbc-dev
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h
WORKDIR /app
# Install Python dependencies
COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
# Run script
COPY find_drivers.py find_drivers.py
CMD [ "python3", "find_drivers.py" ]

未找到驱动程序:

> []

参考文献

  • 在Alpine Linux Docker容器中安装ODBC驱动程序

安装";Microsoft Access驱动程序(*.mdb,*.accdb(";在这个Docker图像中?

安装的最佳方式是什么"Microsoft Access驱动程序(*.mdb,*.accdb(";在这个[Alpine Linux]Docker镜像中?

你不能。微软只提供";Microsoft Access驱动程序(*.mdb,*.accdb(";适用于Windows平台(与适用于Windows、Linux和Mac的SQL Server的ODBC驱动程序不同(。

这里讨论了一些替代方案:

在非Windows平台(Linux或Mac(上使用Python中的Access数据库

最新更新