cos*_*smo 5 python heroku pyodbc
我正在尝试pyodbc连接到 Azure 上托管的 MSSQL 数据库,虽然它在本地工作,但当我将更改推送到 Heroku 时,我无法让它工作。我正在运行 Windows。这是它给我的错误:
pyodbc.Error: ('01000', "[01000] [unixODBC][驱动程序管理器]无法打开 lib 'ODBC Driver 13 for SQL Server': 文件未找到 (0) (SQLDriverConnect)")
这就是我开始连接的方式:
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};
SERVER=serverurl;
DATABASE=db;
UID=user;
PWD=password')
Run Code Online (Sandbox Code Playgroud)
这是我的 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
Run Code Online (Sandbox Code Playgroud)
和我的requirements.txt:
...
pyodbc==4.0.24
Run Code Online (Sandbox Code Playgroud)
我什至安装了一个构建包(https://github.com/heroku/heroku-buildpack-apt)。据我了解,Heroku 端不存在驱动程序,因此它无法找到它。
如果确实如此,我怎样才能让 Heroku 下载驱动程序?我尝试将下载链接放入 Aptfile 中,如上所示,但似乎不起作用。
小智 0
我相信这可以使用与类似问题Python cant find ODBC Driver on Heroku after set everything相同的方法来解决。
tldr:解决方案是在 Ubuntu 18.04 环境上预编译 SQL Server 的 ODBC 驱动程序 17,并通过此构建包将所需的驱动程序文件复制到 Heroku https://github.com/matt-bertoncello/python-pyodbc-buildpack.git。通过在 Ubuntu 16.04 环境上预编译 ODBC 驱动程序 13,可以实现相同的过程。
| 归档时间: |
|
| 查看次数: |
1220 次 |
| 最近记录: |