如何在 Alpine Linux Docker Container 中安装“Microsoft Access Driver (*.mdb, *.accdb)”驱动程序

Posted

技术标签:

【中文标题】如何在 Alpine Linux Docker Container 中安装“Microsoft Access Driver (*.mdb, *.accdb)”驱动程序【英文标题】:How to install "Microsoft Access Driver (*.mdb, *.accdb)" driver in Alpine Linux Docker Container 【发布时间】:2021-11-24 18:45:21 【问题描述】:

查找所有驱动程序的脚本

我创建了一个脚本来查找所有“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" ]

未找到驱动程序:

> []

参考文献

Install ODBC driver in Alpine Linux Docker Container

在此 Docker 映像中安装“Microsoft Access Driver (*.mdb, *.accdb)”的最佳方法是什么?

【问题讨论】:

【参考方案1】:

在这个 [Alpine Linux] Docker 映像中安装“Microsoft Access Driver (*.mdb, *.accdb)”的最佳方法是什么?

你不能。 Microsoft 仅提供适用于 Windows 平台的“Microsoft Access Driver (*.mdb, *.accdb)”(与适用于 Windows、Linux 和 Mac 的 SQL Server 的 ODBC 驱动程序不同)。

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

Working with an Access database in Python on non-Windows platform (Linux or Mac)

【讨论】:

以上是关于如何在 Alpine Linux Docker Container 中安装“Microsoft Access Driver (*.mdb, *.accdb)”驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

docker 下 alpine 镜像设置时区的有效办法

docker 下 alpine 镜像设置时区的有效办法

Alpine linux安装docker

VirtualBox中Alpine Linux + Docker安装记录

alpine linux docker 安装 lxml出错的解决办法。

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