Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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/7/sql-server/22.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/1/cocoa/3.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 [Microsoft][ODBC驱动程序17 for SQL Server]登录超时已过期(0)(SQLDriverConnect)和#x27;)_Python_Sql Server_Pyodbc - Fatal编程技术网

Python [Microsoft][ODBC驱动程序17 for SQL Server]登录超时已过期(0)(SQLDriverConnect)和#x27;)

Python [Microsoft][ODBC驱动程序17 for SQL Server]登录超时已过期(0)(SQLDriverConnect)和#x27;),python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我无法使用python从Unix连接到SQL server 由于其他依赖关系,我无法将SQL Server的ODBC驱动程序17替换为SQL Server的ODBC驱动程序13,如中所述 有人能提出一个替代方案吗 代码: 错误: sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout e

我无法使用python从Unix连接到SQL server

由于其他依赖关系,我无法将SQL Server的ODBC驱动程序17替换为SQL Server的ODBC驱动程序13,如中所述

有人能提出一个替代方案吗

代码:

错误:

sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)') (Background on this error at: http://sqlalche.me/e/e3q8)

我的连接字符串看起来不同:

“DRIVER={ODBC DRIVER 17 for SQL Server};Server=myserver;DATABASE=mydb;UID=myuser;PWD=mypassword”

利兹到

import pyodbc
connection = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};SERVER=myserver;DATABASE=mydb;UID=myuser;PWD=mypassword", autocommit=True)

您使用的不是UID,而是用户名等。所有以“my”开头的单词都必须替换为实际的数据库、用户和密码。您还应该删除
Trusted\u Connection=True部分如Panagiotis Kanavos在评论中指出的。这表示您正在使用windows用户进行身份验证(这在linux上显然不可用)。

这一回答没有说明降级。ODBC版本没有问题。OP在该注释中缺少一个库,并选择降级而不是安装缺少的库。
Trusted_Connection=yes
表示无法在Linux上使用的Windows身份验证。您不能在同一连接字符串中使用它和SQL登录。实际的连接字符串是什么样子的?可能存在真正的超时错误,也可能是由不正确的值引起的问题。例如,
SERVER='SERVER,port'
错误,服务器名称和端口不需要引用如果您仍然可用,我在执行相同的过程时遇到问题
import pyodbc
connection = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};SERVER=myserver;DATABASE=mydb;UID=myuser;PWD=mypassword", autocommit=True)