相关疑难解决方法(0)

是什么导致pyodbc"无法连接到数据源"?

我正在尝试从Linux上的python(SLES)连接到MSSQL数据库.

我安装了pyodbc和Free TDS.从命令行:

tsql -H server -p 1433 -U username -P password
Run Code Online (Sandbox Code Playgroud)

但是,从Python连接到服务器没有问题:

import pyodbc
pyodbc.connect(driver='{FreeTDS}', server='server', database='database', uid='username', pwd='password')
Run Code Online (Sandbox Code Playgroud)

产生错误:

pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)

我发现这个错误无益于模糊.即使是缩小问题范围的建议也会有所帮助.

编辑:看看TDS日志转储,看起来这就是整个事情崩溃的地方:

token.c:328:tds_process_login_tokens()
util.c:331:tdserror(0x87bbeb8, 0x8861820, 20017, 115)
odbc.c:2270:msgno 20017 20003
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
util.c:156:Changed query state from IDLE to DEAD
token.c:337:looking for login token, got  0()
token.c:122:tds_process_default_tokens() marker is 0()
token.c:125:leaving tds_process_default_tokens() connection dead
login.c:466:login packet accepted
util.c:331:tdserror(0x87bbeb8, 0x8861820, 20002, 0)
odbc.c:2270:msgno …
Run Code Online (Sandbox Code Playgroud)

python t-sql database database-connection pyodbc

25
推荐指数
4
解决办法
3万
查看次数

标签 统计

database ×1

database-connection ×1

pyodbc ×1

python ×1

t-sql ×1