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

Mit*_*mer 6 python django odbc azure oryx

我正在尝试在 Linux 中的 Azure 应用服务上运行 Django (3.0) 应用程序,并连接到 Azure SQL 数据库。在我的暂存应用程序服务实例中,这工作得很好,但是,当我在不同的 Azure 帐户上设置生产实例时,我的 Django 应用程序无法再访问数据库。

当我将 ODBC 驱动程序 17 硬编码到数据库设置中时,我在 Oryx 构建日志中收到此错误:

pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)

当我切换到此处建议的非硬编码版本时,我收到此错误:

    'driver': sorted(pyodbc.drivers()).pop(),
IndexError: pop from empty list
Run Code Online (Sandbox Code Playgroud)

如何在 Azure 应用服务上安装 ODBC 驱动程序?

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

Jas*_*Pan 1

我已经测试过它并且它对我有用。

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

在此输入图像描述

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

在此输入图像描述

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

前面我说过可以尝试使用venv,我测试后发现不需要使用它。按照我的步骤运行命令,你的webapp就ok了。

在此输入图像描述