【发布时间】:2019-11-01 07:06:28
【问题描述】:
我必须在 linux 上使用 pyodbc 连接到 SQL Server。该帐户是 Active Directory 帐户。使用 pymssql,我可以通过指定corp\svc_account 进行连接。但是在pyodbc上,连接失败了。
使用 pyodbc 似乎我们只能使用受信任的连接或用户/密码。并且用户/密码仅适用于 SQL Server 身份验证 - 不适用于 Active Directory。
但是使用 pymssql 似乎我们可以使用带有用户/密码的 Active Directory 身份验证进行连接。
有什么方法可以将我的 Active Directory 凭据与 pyodbc 一起使用?
我也不想安装 kerberos 客户端。
【问题讨论】:
-
如果您想“使用我的 Active Directory 凭据”,为什么不能只使用
Trusted_Connection=yes? -
@GordThompson Trusted_connection 仅在您已通过 kerberos 进行身份验证时才有效。我不能使用 kerberos。
-
如果域有 Kerberos,我认为您无法使用 AD 凭据进行连接,因为我想是直接尝试连接而不是 kerberos 票证。请参阅FAQ pymssql,其中提到了 kerberos 和模块编译。
-
我从对您的问题的编辑中看到您正在尝试从 Linux 连接。在这种情况下,您可能需要使用 FreeTDS 进行连接,通过 pyodbc + FreeTDS ODBC 或通过 pymssql。
标签: python sql-server pyodbc pymssql