[Microsoft][SQL 服务器的 ODBC 驱动程序 17] 登录超时已过期 (0) (SQLDriverConnect)')
[Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
我无法使用 python 从 Unix 连接到 SQL 服务器。
由于其他依赖关系,我无法将 SQL 服务器的 ODBC 驱动程序 17 替换为 SQL 服务器的 ODBC 驱动程序 13,如 中所述。
有人可以推荐一个替代方案吗?
代码:
import sqlalchemy as sa
from urllib import parse as db_parse
from sqlalchemy import event
params = db_parse.quote_plus(r"DRIVER={ODBC Driver 17 for SQL Server};SERVER='server,port';DATABASE=DB_NAME;username=USER_ID;password=PWD;Trusted_Connection=yes")
engine = sa.create_engine('mssql+pyodbc:///?odbc_connect={}'.format(params))
connection = engine.connect()
错误:
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' 开头的单词都必须替换为实际的数据库、用户和密码。正如 Panagiotis Kanavos 在评论中指出的那样,您还应该删除 Trusted_Connection=True;
部分。这表示您正在使用 windows-user 进行身份验证(这显然在 linux 上不可用)。
我无法使用 python 从 Unix 连接到 SQL 服务器。
由于其他依赖关系,我无法将 SQL 服务器的 ODBC 驱动程序 17 替换为 SQL 服务器的 ODBC 驱动程序 13,如
有人可以推荐一个替代方案吗?
代码:
import sqlalchemy as sa
from urllib import parse as db_parse
from sqlalchemy import event
params = db_parse.quote_plus(r"DRIVER={ODBC Driver 17 for SQL Server};SERVER='server,port';DATABASE=DB_NAME;username=USER_ID;password=PWD;Trusted_Connection=yes")
engine = sa.create_engine('mssql+pyodbc:///?odbc_connect={}'.format(params))
connection = engine.connect()
错误:
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' 开头的单词都必须替换为实际的数据库、用户和密码。正如 Panagiotis Kanavos 在评论中指出的那样,您还应该删除 Trusted_Connection=True;
部分。这表示您正在使用 windows-user 进行身份验证(这显然在 linux 上不可用)。