微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Azure应用服务上访问ODBC驱动程序

如何解决如何在Azure应用服务上访问ODBC驱动程序

我正在尝试在连接到Azure sql数据库的Linux上的Azure应用服务上运行Django(3.0)应用。在我的暂存App Service实例中,这可以完美地工作,但是,当我在其他Azure帐户上设置生产实例时,我的Django应用程序将无法再访问数据库

当我将ODBC Driver 17硬编码到数据库设置中时,我的Oryx构建日志中出现了此错误

pyodbc.Error: ('01000',"[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for sql Server' : file not found (0) (sqlDriverConnect)")

当我切换到建议使用here的非硬编码版本时,出现此错误

    'driver': sorted(pyodbc.drivers()).pop(),IndexError: pop from empty list

如何在Azure App Service上安装ODBC驱动程序?

编辑:我没有使用Docker部署选项。我直接从Github部署源代码

解决方法

我已经对其进行了测试,并且对我有用。

向您的Web应用程序打开ssh并运行以下命令:-

enter image description here

  1. apt-get update
  1. apt-get install g++
  1. apt-get install unixodbc-dev
  1. pip install pyodbc

enter image description here

然后我们可以使用隐私模式,或在清除缓存后访问网站。您可以尝试刷新几次,然后发现网站恢复正常。

之前,我说过您可以尝试使用venv,经过测试,我发现它不需要使用。按照我的步骤运行命令,您的Web应用就可以了。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。