首页 > 解决方案 > 部署到heroku的django应用程序中的unixODBC 0100错误

问题描述

在网上尝试了许多解决方案后,我仍然无法解决以下错误:

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server Native Client 17.0' : file not found (0) (SQLDriverConnect)")

Aptfile 看起来像这样:

https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/msodbcsql17/msodbcsql17_17.7.2.1-1_amd64.deb
https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/mssql-tools/mssql-tools_17.7.1.1-1_amd64.deb
unixodbc
unixodbc-dev
libsqliteodbc

运行 odbcinst -j 呈现:

unixODBC 2.3.6
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /app/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

但是目录当然不存在。

我尝试按照微软的解决方案安装驱动程序 https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server? view=sql-server-2017 但是有太多错误我无法通过 Heroku 处理。

还尝试添加构建包https://github.com/matt-bertoncello/python-pyodbc-buildpack

没有任何效果。

标签: pythonunixherokuunixodbc

解决方案


推荐阅读