首页 > 解决方案 > 在 Ubuntu 20.10 机器上使用 pyodbc 连接到 Microsoft SQL Server Express 的问题

问题描述

在我的计算机上,我有两个使用 VMWARE Workstation 运行的虚拟机。

一台运行我的 python (v. 3.8.10) 代码的 Ubuntu 2.10 机器,以及我的 Microsoft SQL Server 所在的一台 Windows 10 机器。

我想在我的 Ubuntu 机器上使用 Python 代码从 SQL Server 查询数据。

这是我的代码:

import pyodbc

server = 'xxx.xxx.xxx.xxx' <- IP address of the Windows VM
database = 'TestDB' 
username = 'TestUser' 
password = 'test123' 
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()

我得到这个错误的回应:

pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]登录超时已过期 (0) (SQLDriverConnect)')

我已经尝试使用这些凭据登录 Microsoft SQL Server Management Studio,它工作得很好。

谢谢你的帮助。

- - - - -编辑 - - - - -

在 SMS 中运行查询xp_readerrorlog 0, 1, N'Server is listening on'后,我得到以下结果:

日志日期 过程信息 文本
2021-09-09 13:24:44.380 spid33s 服务器正在监听 ['any' 49677]。
2021-09-09 13:24:44.390 spid33s 服务器正在监听 ['any' 49677]。

标签: sql-serverpyodbcubuntu-20.10

解决方案


推荐阅读