使用pyodbc连接SQL Server时,报超时错误。
import pyodbcdriver = '{ODBC Driver 17 for SQL Server}'
server = '192.168.50.106,1433'
database = 'books'
username = 'sa'
password = '123456'
cnxn = t('DRIVER={};SERVER={};DATABASE={};UID={};PWD={}'.format(driver,server,database,username,password)
)cursor = cnxn.cursor()ute("SELECT @@version;")
row = cursor.fetchone()
while row:print(row[0])row = cursor.fetchone()
/usr/bin/python3.8 /home/wj/wj/project/test/test.py
Traceback (most recent call last):File "/home/wj/wj/project/test/test.py", line 10, in <module>cnxn = t('DRIVER={ODBC Driver 17 for SQL Server};SERVER=192.168.50.106,1433;DATABASE=books;UID=sa;PWD=123456')
pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')Process finished with exit code 1
控制面板系统和安全Windows Defender 防火墙自定义设置
关闭防火墙可成功连接。
SQL Server TCP连接端口没有开放。
打开SQL Server 配置管理器(SQL Server Configuration Manager),按图示查看SQL Server TCP端口号。
进入控制面板系统和安全Windows Defender 防火墙
,点击高级设置
。
在高级设置
中,点击入站规则
,然后点击新建规则
。
新建规则
中,要创建的规则类型选择端口(O)
。
下一步选择TCP
和特定本地端口
,特定本地端口
就是SQL Server 配置管理器中找到的端口号。
下一步选择允许连接
。
下一步何时应用该规则,默认选择即可。
下一步填写名称
和描述
,这一步可自定义。
下一步完成
即可。
本文发布于:2024-02-02 08:43:11,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683459442652.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |