python - 部署到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。
没有任何效果。
解决方案
推荐阅读
- c# - 为什么模拟存储库需要一个虚函数,而模拟 IRepository 会覆盖现有函数?
- node.js - await 总是抛出 SyntaxError:await 仅在 sequelize 的异步函数中有效
- javascript - 最后一个缩略图没有出现在视图中(react-responsive-carousel)
- c# - C# 模式匹配是否支持多种类型?
- c++ - 为什么 cin.clear() 没有重置故障位状态?
- node.js - 如何使用任何 npm 包从数据库中生成和下载具有动态图像路径的 pdf
- java - Eclipse Gradle 项目中的线程“main”java.lang.NoClassDefFoundError 中的异常
- java - 如果不使用 else 语句,我们如何使用三元运算符?
- sql - presto/athena 有没有办法根据条件获取列名并在 group by 中使用它?
- javascript - 将 SVG 作为图像复制到剪贴板