WithYouAcross 2023-10-13 20:38
浏览 8
已结题

使用pymssql 链接sql server 2008R2数据库 提示失败

使用pymssql 链接sql server 2008R2数据库 提示失败:pymssql._pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (127.0.0.1)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (127.0.0.1)\n')
问chat-GPT
解决思路:

  1. 检查数据库服务器是否正在运行:确保数据库服务器已经启动并正在运行,可以通过数据库管理工具或者命令行检查数据库服务器的状态。

  2. 检查数据库服务器地址:确认你的代码中指定的数据库服务器地址是否正确。在错误消息中,它是 "localhost",这意味着你正在尝试连接到本地计算机上的数据库服务器。确保这个地址是正确的,如果数据库服务器在不同的主机上,你需要提供正确的主机名或IP地址。

  3. 检查数据库服务器端口:数据库服务器通常使用特定的端口进行通信。确保你的代码中指定的端口号与数据库服务器的配置一致。默认端口通常是1433。

  4. 检查数据库用户名和密码:确认你的代码中指定的数据库用户名和密码是否正确。这些凭据需要与数据库服务器上的账户匹配。

  5. 防火墙设置:确保你的防火墙设置允许应用程序与数据库服务器进行通信。如果你使用防火墙,需要配置允许数据库服务器端口的入站连接。

  6. 数据库服务器错误日志:查看数据库服务器的错误日志,以获取更多关于连接失败的详细信息。这可能会提供有关问题的更多线索。

  7. 更新 pymssql 或数据库驱动:确保你正在使用最新版本的 pymssql 或数据库驱动程序,因为旧版本可能存在已知的问题。升级到最新版本可能会解决问题。

网上的办法都试了但都没什么卵用

突然找到一片文章 说是添加 tds_version="7.0"
抱着试一试的态度,果真成功了。搜寻许久终究找到解决办法,供遇到该问题的小伙伴共同学习探讨,特此记录

原文https://zhuanlan.zhihu.com/p/555267719  

完整配置
pymssql.connect(host=self.host,
                       user=self.user,
                       password=self.pwd, 
                       database=self.db, 
                       as_dict=True, 
                       tds_version="7.0",
                       charset="CP936")   
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 10月13日
    • 创建了问题 10月13日