编写脚本以查找所有驱动程序
我创建了一个脚本来查找所有的"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数据库