Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyodbc.OperationalError:(';HYT00';,u';[HYT00][unixODBC][Microsoft][ODBC驱动程序13 for SQL Server]登录超时已过期(0)(SQLDriverConnect)';)_Python_Sql Server_Linux_Pyodbc - Fatal编程技术网

Python pyodbc.OperationalError:(';HYT00';,u';[HYT00][unixODBC][Microsoft][ODBC驱动程序13 for SQL Server]登录超时已过期(0)(SQLDriverConnect)';)

Python pyodbc.OperationalError:(';HYT00';,u';[HYT00][unixODBC][Microsoft][ODBC驱动程序13 for SQL Server]登录超时已过期(0)(SQLDriverConnect)';),python,sql-server,linux,pyodbc,Python,Sql Server,Linux,Pyodbc,通过使用SQLServerManagementStudio(SSMS)Express,我可以找到数据库并顺利连接 但当我使用pyodbc连接到同一台服务器时,使用: import pyodbc Server = r"xxxER\xxxSQLSERV" db = "xxxDB" user = "xxx" password = "xxxx" conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+serv

通过使用SQLServerManagementStudio(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驱动程序17,但遇到了相同的问题。请任何人向我推荐一下。Microsoft的SQL Server ODBC Linux驱动程序无法解析实例名称。您可以使用空闲模块获取相应的端口号并使用该端口号进行连接。

尝试从服务器中删除实例并将其设置为

Server=“xxxER”

或者,如果您有端口号,请将其附加为


Server=“xxxER,portNo”
我遇到了这个问题,并在中解决了我的问题。 只需添加版本

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server + ';DATABASE=' + db +';UID=' + user + ';PWD=' + password)
如果不工作,则将版本17更改为13,如果不工作,则更改为11。
检查您的mssql网络配置,我的问题就在那里

为所有IP启用端口1433


现在正在使用IP和主机名。

我正在使用SSH隧道,将远程服务器端口转发到本地主机1433。如果使用以下方法,此pyodbc连接会间歇性失败:

cnxn = pyodbc.connect('driver={ODBC Driver 17 for SQL Server};Server=localhost, 1433;'...
用127.0.0.1替换localhost似乎一直在起作用

cnxn=pyodbc.connect('driver={ODBC driver 17 for SQL Server};Server=127.0.0.11433;'


顺便说一句,使用Ruby和FreeTDS也做了同样的事情,
Localhost,1433
一直在工作..一定是pyodbc包中的某个东西,或者他们的方法有时会丢失一些信息,使服务器上的DBMS无法响应/timeout

+1!不言而喻,
TCP/IP
应该为instanc启用e有问题。
sqlserverport
模块如果没有为特定的SQL Server实例启用,将因“
tcp
的一个关键错误而崩溃。