小编典典

使用pyodbc从Linux到Windows SQL Server进行身份验证

sql

我正在尝试使用pyodbc从Linux机器连接到Windows SQL Server。

我确实有两个限制:

  • 需要使用Windows域帐户登录
  • 需要使用python3
  • 需要从Linux到Windows
  • 需要连接到特定实例

我按照Microsoft的说明设置了环境并使其正常工作(我可以导入pyodbc并使用已配置的贻贝驱动程序)。

我不熟悉Windows域身份验证,而其他方面则不熟悉,所以这里就是我的问题所在。

我的连接字符串:

DRIVER={ODBC Driver 17 for SQL Server};SERVER=myserver.mydomain.com;PORT=1433;DATABASE=MyDatabase;Domain=MyCompanyDomain;Instance=MyInstance;UID=myDomainUser;PWD=XXXXXXXX;Trusted_Connection=yes;Integrated_Security=SSPI

假定应该使用“ Trusted_Connection”来使用Windows域身份验证,而不是直接通过SQL Server进行身份验证。

我在运行 pyodbc.connect(connString) 遇到 的错误:

pyodbc.Error: ('HY000', '[HY000] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]SSPI Provider: No Kerberos credentials available (851968) (SQLDriverConnect)')

我从其他来源了解到,此代码应在Windows上运行,因为此代码将使用当前登录用户的凭据。

我的问题是如何使用Windows域凭据从Linux连接到Windows SQL Server实例。


阅读 238

收藏
2021-03-17

共1个答案

小编典典

我最终使用了pymssql库,该库基本上是FreeTDS驱动程序之上的pyodbc。它开箱即用。

奇怪如何发现这个库让我如此困难。

2021-03-17