我尝试使用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 - 连接成功!
我尝试用params重新编译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
答案 0 :(得分:0)
@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进行配置。
答案 1 :(得分:0)
我在make pymssql和freetds之后解决它(在之前的帖子中有选项,在全局配置中设置tds version = 7.3)。 Pymssql源代码使用命令“python setup.py build”,然后安装在系统“python setup.py install”中