python - pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]登录超时已过期 (0) (SQLDriverConnect)')
问题描述
使用 SQL Server Management Studio (SSMS) Express,我可以找到数据库并毫无问题地连接。
但是当我使用 pyodbc 连接到同一台服务器时,使用:
import pyodbc
Server = r"xxxER\xxxSQLSERV"
db = "xxxDB"
user = "xxx"
password = "xxxx"
conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)
通过在我的本地使用 Pyhton,我可以连接,但是当我尝试在 linux 服务器中遇到错误时
pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
我也尝试使用适用于 SQL Server 的 ODBC Driver 17,但遇到了同样的问题。有人可以建议我吗?
解决方案
我有这个问题并在这里解决了我的问题。只需添加版本。
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)
如果不起作用,则将版本 17 更改为 13 如果不是 11 。 列出 ODBC 的版本。
推荐阅读
- c# - 在 Windows 启动时强制 ClickOnce 应用程序更新?
- javascript - 如何使用 JS 向 body 添加一个类?
- android - 如何在特定片段中隐藏底部导航栏(底部导航栏活动)
- ios - 如何同时拥有两个标签,一个可以生长,一个不能?
- android - 应用recyclerviewer时工具栏消失
- firebase - 在不同的父母 Firebase 中添加相同的子对象
- javascript - 自然排序数组
- excel - VBA Workbook.Open 运行时错误“91”
- java - 如何在不重新启动应用程序的情况下在 recycleview 中显示文本?
- java - 在一系列设定的方向上移动对象