【问题标题】:How do I get pyodbc to Work in Azure Web App如何让 pyodbc 在 Azure Web App 中工作
【发布时间】:2023-12-14 02:12:01
【问题描述】:

出现以下错误 - 尝试使用 pyodbc 查看部署到 Azure 的 Flask Web 应用程序时:

2019-09-03T14:25:35.575624728Z conn = pyodbc.connect('Driver={SQL Server};'
2019-09-03T14:25:35.575857932Z pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)")

任何人都可以建议,我需要做些什么来解决这个问题?顺便说一句,在我的本地机器上工作正常。

谢谢..

【问题讨论】:

  • 我对 Azure 不是很熟悉,但是看起来你需要安装“SQL Server”驱动程序?
  • @erncyp - 正确的想法,除了名为“SQL Server”的 ODBC 驱动程序是古老的并且仅包含在标准 Windows 发行版中。最新的“ODBC Driver 17 for SQL Server”可用于 Windows 和非 Windows 平台。

标签: python azure pyodbc


【解决方案1】:

确保您已在 Azure Web App 上安装了 pyodbc 包。

然后形成连接字符串并连接到SQL DB:

driver= '{ODBC Driver 17 for SQL Server}'
conn_str = 'DRIVER=' + driver + \
                ';SERVER=' + serverName + \
                ';DATABASE=' + dbName + \
                ';UID=' + uname + \
                ';PWD=' + pwd
sql_conn    =   pyodbc.connect(conn_str)

有关 Azure 上 Configuring Environment 的更多信息。

【讨论】:

    【解决方案2】:

    在尝试了许多对我有用的方法后,我遇到了同样的问题。

    如果您使用的是 Linux 版本的 azure web 应用,只需 ssh 到您的 web 应用并运行以下命令:-

    1. apt-get update

    2. apt-get install g++

    3. apt-get install unixodbc-dev

    4. pip install pyodbc

    欲了解更多信息,请查看以下文档中的 Debian Stretch 部分:- https://github.com/mkleehammer/pyodbc/wiki/Install

    【讨论】:

      最近更新 更多