4

我正在尝试在 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)")

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

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

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

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

4

1 回答 1

1

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

打开 ssh 到您的网络应用程序并运行以下命令:-

在此处输入图像描述

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

在此处输入图像描述

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

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

在此处输入图像描述

于 2020-11-04T05:20:05.750 回答