Python pymssql:Adaptive Server 连接失败
Posted
技术标签:
【中文标题】Python pymssql:Adaptive Server 连接失败【英文标题】:Python pymssql: Adaptive Server connection failed 【发布时间】:2016-06-28 16:56:51 【问题描述】:我尝试使用 python 连接 Azure SQL,但出现下一个错误:
File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)
pymssql.OperationalError: (20002, 'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (myserver:1433)\n')
freetds.conf:
[global]
# TDS protocol version
tds version = 7.4
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
如果我尝试连接使用 tsql - 连接成功!
我尝试使用参数重新编译 freetds:
./configure --enable-msdblib --enable-threadsafe --enable-sybase-compat --with-tdsver=7.4 --with-openssl=/usr/bin
我正在使用这本手册https://msdn.microsoft.com/en-us/library/mt694094(v=sql.1).aspx
【问题讨论】:
【参考方案1】:@Alximik 根据我的经验,我认为没有必要自行重新编译 freetds。对于这个问题,我认为是你对freetds.conf
的配置造成的,请看我对已解决的SO线程pymssql: Connection to the database only works sometimes的回答以及下面的示例配置内容。
host = <database_name>.database.windows.net
port = 1433
tds version = 7.3
同时,您可以参考http://www.freetds.org/userguide/freetdsconf.htm进行配置。
【讨论】:
感谢您的回答,但这并不能解决我的问题。我从源代码 pymssql 和 freetds 生成后解决了它(在上一篇文章中有选项并在全局配置中设置 tds version=7.3) @Alximik 感谢您的分享。【参考方案2】:我从源代码 pymssql 和 freetds 生成后解决了它(在上一篇文章中使用选项并在全局配置中设置 tds version=7.3)。 Pymssql 从源代码使用命令“python setup.py build”和下一步安装在系统“python setup.py install”
【讨论】:
以上是关于Python pymssql:Adaptive Server 连接失败的主要内容,如果未能解决你的问题,请参考以下文章
Python pymssql 尝试启动新的 Adaptive Server 操作,但结果未决
(20002, b'DB-Lib error message 20002, severity 9: Adaptive Server connection failed (127.0.0.1:(
python中pymssql如何向sql server插入数据 插入的值可以用变量替换
为Python安装pymssql模块来连接SQLServer