Python3 使用 pymssql 连接 SQL Server 报错:DB-Lib error message 20002, severity 9

一、版本说明

python版本:  3.12.1
pymssql版本:  2.3.0        # pymssql.version_info()
SQL Server版本:SQL Server 2008
OS版本: rocky linux 9.4

二、报错信息

Traceback (most recent call last):
  File "src/pymssql/_pymssql.pyx", line 650, in pymssql._pymssql.connect
  File "src/pymssql/_mssql.pyx", line 2155, in pymssql._mssql.connect
  File "src/pymssql/_mssql.pyx", line 712, in pymssql._mssql.MSSQLConnection.__init__
  File "src/pymssql/_mssql.pyx", line 1881, in pymssql._mssql.maybe_raise_MSSQLDatabaseException
  File "src/pymssql/_mssql.pyx", line 1898, in pymssql._mssql.raise_MSSQLDatabaseException
pymssql._mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.16.250)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.16.250)\n')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "src/pymssql/_pymssql.pyx", line 659, in pymssql._pymssql.connect
pymssql.exceptions.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.16.250)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.16.250)\n')

在这里插入图片描述

三、排查

通过python自带的os模块,详细打印连接详细日志 os.environ['TDSDUMP'] = 'stdout'
在这里插入图片描述
从报错信息上可以发现,是找不到 /root/.freetds.conf 或者 /usr/local/etc/freetds.conf 文件导致的,配置文件内容如下,下面配置是官网提供的示例:

[global]
    port = 1433
    tds version = 7.0

在这里插入图片描述
在这里插入图片描述

详情可以查看官网,地址是:https://www.pymssql.org/freetds.html

四、解决

添加上官网的配置
在这里插入图片描述
重新连接,没有报错,执行SQL,有数据输出
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/648580.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【QT环境配置】节约msvc2017灰色不可用问题

1. 问题 msvc2017不可用&#xff0c;2019、2022都同理解决。 2. 解决 打开控制面板->程序->程序和功能->找到自己安装的vs程序->鼠标右键后出现卸载更改->点击更改 找到下面组件即可。&#xff08;msvc2019就找msvcv142&#xff09;

乘风破浪,创维汽车旗舰店落户安徽

2024年5月19日&#xff0c;创维汽车宣城家奇体验中心盛大开业。宣城市委办公室副主任师典雅、市投资促进局副局长金崇学、经开区管委会副主任汤晓峰、宣城市通信局局长梁登峰、创维汽车战区总经理刘俊、创维汽车大区总监王大明等人出席此次开业盛典&#xff0c;共同见证了创维汽…

如何编辑 PDF 中的文本

使用 PDF 格式时最常见的挑战之一是弄清楚如何编辑 PDF 文档中的现有文本。该问题不仅影响新手&#xff0c;还影响多年来处理各种文档的专业人士。 PDF 格式专为处理数字纸张而设计。它以原始形式保留所有数据&#xff0c;例如表格、图章和签名。对于需要安全可靠地分发文档的…

2024年了,再聊安卓上的分身应用工具

大家好&#xff0c;最近更新的慢了&#xff0c;一个最近有了小宝宝之后&#xff0c;更多时间需要忙着照顾她&#xff0c;平时上班较忙&#xff0c;周末留出更多时间陪着她。另一个是&#xff0c;最近一直参与一个项目&#xff0c;一个全新的安卓多开工具&#xff0c;终于做的差…

NIO流(多路复用技术)

目录 什么是NIO使用场景 NIO(new IO)相关包路径NIO的实现基础NIO的核心组件Buffer缓冲区详解数据如何从磁盘读到用户进程 ChannelChannel的使用 其他组件字符集和Charset文件锁NIO工具类使用Files的FileVisitor遍历文件和目录使用WatchService监控文件变化访问文件属性 什么是N…

YOLOv10真正实时端到端目标检测(原理介绍+代码详见+结构框图)| YOLOv10如何训练自己的数据集(NEU-DET为案列)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:真正实时端到端目标检测&#xff08;原理介绍代码详见结构框图&#xff09;| YOLOv10如何训练自己的数据集&#xff08;NEU-DET为案列&#xff09; 博主简介 AI小怪兽&#xff0c;YOLO骨灰级玩家&#xff0c;1&#xff0…

AI写作工具:助力论文撰写的创新助手

近年来&#xff0c;随着科技的快速发展&#xff0c;AI已经逐渐渗透到了生活中的方方面面&#xff0c;其中也包含着学术领域。 作为学生党&#xff0c;你是否还在为期末论文&#xff0c;大学生实践报告而发愁&#xff1f; 有了这些AI写作神器&#xff0c;大学生们再也不用在期…

icloud照片怎么恢复到相册?2个方法,轻松解决烦恼

在现代生活中&#xff0c;照片承载着我们的回忆和珍贵的时刻&#xff0c;而iCloud提供了便捷的云存储服务&#xff0c;让用户可以方便地备份和同步手机上的照片、视频等文件。 然而&#xff0c;有时候我们可能会不小心删除了在iCloud上的照片&#xff0c;或者想要将iCloud照片…

【408真题】2009-18

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…

【Python】 列表中的删除操作:del、remove 和 pop 的区别

基本原理 在Python中&#xff0c;列表&#xff08;list&#xff09;是一种非常灵活的数据结构&#xff0c;它允许我们存储一系列的元素。在处理列表时&#xff0c;我们经常需要添加、修改或删除元素。在删除元素时&#xff0c;我们可以使用三种不同的方法&#xff1a;del、rem…

mac电脑用n切换node版本

一、安装 node版本管理工具 “n” sudo npm install -g n二、检查安装成功&#xff1a; n --version三、查看依赖包的所有版本号 比如: npm view webpack versions --json npm view 依赖包名 versions --json四、安装你需要的版本的node sudo n <node版本号> // 例如…

基于 Spring Boot 博客系统开发(十一)

基于 Spring Boot 博客系统开发&#xff08;十一&#xff09; 本系统是简易的个人博客系统开发&#xff0c;为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。&#x1f33f;&#x1f33f;&#x1f33f; 基于 Spring Boot 博客系统开发&#xff08;十&#xff09;&#x…

使用chatglm.cpp本地部署ChatGLM3-6B模型

ChatGLM3模型介绍 ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xff1a; 更强大的基础模型&#xff1a; ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base …

STM32_HAL__TIM_输出比较

概述 STM32的输出比较功能通常是指在微控制器的PWM&#xff08;脉冲宽度调制&#xff09;生成能力中的一个方面。STM32微控制器拥有一个或多个定时器/计数器&#xff0c;这些定时器/计数器可以用来生成PWM信号。PWM信号是一种重要的控制信号&#xff0c;广泛应用于电机控制、亮…

爬虫案例-亚马逊反爬流程分析梳理(验证码突破)(x-amz-captcha)

总体概览&#xff1a;核心主要是需要突破该网站的验证码&#xff0c;成功后会返回我们需要的参数后再去请求一个中间页&#xff08;类似在后台注册一个session&#xff09;&#xff0c;最后需要注意一下 IP 是不能随意切换的 主要难点&#xff1a; 1、梳理整体反爬流程 2、验证…

分子对接 molecular docking

https://www.sciencedirect.com/science/article/pii/S094471132400374X?via%3Dihub GitHub - beikwx/SailVina: SailVina重构增强版 Molecular docking Download the PTPRB protein structure on the PDB database (RCSB PDB: Homepage). Select the high-resolution PTP…

深入理解SVM和浅层机器学习算法的训练机制

深入理解SVM和浅层机器学习算法的训练机制支持向量机&#xff08;SVM&#xff09;的训练过程SVM的基本概念SVM的损失函数训练方法 浅层机器学习算法的训练机制决策树K-最近邻&#xff08;K-NN&#xff09;朴素贝叶斯 结论 深入理解SVM和浅层机器学习算法的训练机制 在探讨浅层…

RedHat9 | DNS剖析-建立子域并进行区域委派

一、实验环境 1、委派DNS服务器 域名空间由多个域构成&#xff0c;DNS提供了将域名空间划分为1个或多个区域的方法&#xff0c;这样使得管理更加方便。在域的规模增大后&#xff0c;可以为域添加附加域&#xff0c;上级域为父域&#xff0c;下级域为子域&#xff0c;下列案例…

FuTalk设计周刊-Vol.051

#AI漫谈 热点捕手 1.ChatGPT 多端加入生成图像工具 DALL-E OpenAI 发文&#xff0c;宣布用户可以在 ChatGPT 中跨 Web、iOS 和 Android 使用 DALL-E 生成图像。在官方放出的视频演示中可以看到&#xff0c;用户能够通过添加、删除或调整图像中的元素来完善自己的 DALL-E 作品。…

【小技巧】KEIL C51 报错`Warning L6: XDATA Space Memory Overlap`

DeBug 记录&#xff1a; 软件&#xff1a;Keil C51 C51V961版本 电脑&#xff1a;Win10 报错&#xff1a; Warning L6: XDATA Space Memory Overlap *** WARNING L6: XDATA SPACE MEMORY OVERLAP 对应代码&#xff1a; LCD.h文件 //static volatile unsigned char xdata LC…