Python 在Heroku上安装ODBC驱动程序
我正在尝试使用Python 在Heroku上安装ODBC驱动程序,python,heroku,pyodbc,Python,Heroku,Pyodbc,我正在尝试使用pyodbc连接到azure上托管的MSSQL数据库,虽然它在本地工作,但当我将更改推送到Heroku时,它无法工作。我正在运行Windows。这就是它给我的错误: pyodbc.Error:('01000',“[01000][unixODBC][Driver Manager]无法打开 库“SQL Server的ODBC驱动程序13”:未找到文件(0) (SQLDriverConnect)”) 以下是我启动连接的方式: cnxn = pyodbc.connect('DRIVER={
pyodbc
连接到azure上托管的MSSQL数据库,虽然它在本地工作,但当我将更改推送到Heroku时,它无法工作。我正在运行Windows。这就是它给我的错误:
pyodbc.Error:('01000',“[01000][unixODBC][Driver Manager]无法打开
库“SQL Server的ODBC驱动程序13”:未找到文件(0)
(SQLDriverConnect)”)
以下是我启动连接的方式:
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};
SERVER=serverurl;
DATABASE=db;
UID=user;
PWD=password')
这是我的Aptfile,其中包含了Heroku驱动程序的下载链接:
unixodbc
unixodbc-dev
python-pyodbc
libsqliteodbc
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql/msodbcsql_13.1.9.2-1_amd64.deb
和myrequirements.txt
:
...
pyodbc==4.0.24
我甚至安装了一个buildpack()。据我所知,司机不在Heroku那边,因此无法定位
如果真的是这样,我如何让Heroku下载驱动程序?如上图所示,我尝试将下载链接放置在Aptfile中,但似乎不起作用。我相信这可以用与类似问题相同的方法解决 tldr:解决方案是在Ubuntu 18.04环境中预编译SQL Server的ODBC驱动程序17,并通过此buildpack
https://github.com/matt-bertoncello/python-pyodbc-buildpack.git
。通过在Ubuntu 16.04环境中预编译ODBC驱动程序13,同样的过程也可以工作