Creé un script para encontrar todos los controladores 'pyodbc':
import pyodbc print([x for x in pyodbc.drivers()])En mi computadora host (Windows con controladores instalados), cuando ejecuto, obtengo todos los controladores 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)']Pero, cuando uso 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" ]No se encuentran los controladores:
> []¿Cuál es la mejor manera de instalar "Microsoft Access Driver (*.mdb, *.accdb)" en esta imagen de Docker?
¿Cuál es la mejor manera de instalar "Microsoft Access Driver (*.mdb, *.accdb)" en esta imagen de Docker [Alpine Linux]?
no puedes Microsoft solo proporciona "Microsoft Access Driver (*.mdb, *.accdb)" para la plataforma Windows (a diferencia de su controlador ODBC para SQL Server, que está disponible para Windows, Linux y Mac).
Algunas alternativas se discuten aquí: