【问题标题】:Adaptive server connection failed (DB-Lib error message 20002, severity 9)自适应服务器连接失败(DB-Lib 错误消息 20002,严重性 9)
【发布时间】:2023-03-04 05:18:02
【问题描述】:

我确信这个问题之前已经被无数次提出过,但也许有人仍然可以帮助我。
我正在将 pymssql v2.1.3 与 Python 2.7.12 一起使用,直到昨天我多次用于将数据写入我的 Azure SQL DB 的代码不知何故决定不再工作 - 没有明显的原因。

防火墙已设置,我的 IP 在白名单中,我可以使用 SQL Server Management Studio 连接到数据库并查询数据,但尝试使用 pymssql 连接时仍然出现此错误。

该应用程序是一个 Flask 网络应用程序,以下是我连接到数据库的方式:

conn = pymssql.connect(server='myserver.database.windows.net', user='myusername@mydatabase', password='mypassword', database='mydatabase')

【问题讨论】:

标签: python azure-sql-database pymssql


【解决方案1】:

这可能是由于 pymssql 版本。你升级pymssql了吗?如果是,请尝试恢复到 2.1.1

sudo pip install pymssql==2.1.1

【讨论】:

【解决方案2】:

并不是我提出的问题的真正解决方案,但使用 pypyodbc 而不是 pymssql 可以。

conn = pypyodbc.connect(driver='{SQL Server}',server='tcp:myserver.database.windows.net,1433',database='mydatabase', uid='myusername', pwd='mypassword')

【讨论】:

    【解决方案3】:

    linux 上可能缺少 freetds-dev:

    apt-get update && apt-get install freetds-dev

    【讨论】:

      【解决方案4】:

      令人难以置信的错误仍然存​​在...... ENV:Windows 10 上的 WSL2

      修复 -> 切换到 pyodbc:.

      1. sudo apt-get install unixodbc-dev && pip3 install pyodbc
      2. 按照 ubuntu 的说明进行操作 https://docs.microsoft.com/de-de/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15
          import pyodbc 
      server = 'tcp:myserver.database.windows.net' 
      database = 'mydb' 
      username = 'myusername' 
      password = 'mypassword' 
      cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
      cursor = cnxn.cursor()
      

      【讨论】:

        【解决方案5】:

        我卸载并安装了新的 pymssql,它现在对我有用。

        【讨论】:

        • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2013-10-21
        • 2013-12-10
        • 2016-09-09
        • 2017-02-15
        • 2017-01-09
        • 2014-09-13
        • 2018-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多