Python pymssql:在非windows设备上运行时如何使用windows身份验证

Python pymssql:在非windows设备上运行时如何使用windows身份验证,python,sql-server,pymssql,Python,Sql Server,Pymssql,是否有一种方法可以让python使用Windows身份验证连接到MS SQL Server,即使不在Windows设备上运行python应用程序 我试图用pymssql来实现这一点,但这些示例似乎大多假设您正在windows上运行 如果有一种方法可以使用其他库进行连接,请随意提出建议,但我确实喜欢通过pip安装和部署pymssql的简单方式 我想连接到2005/2008数据库,我正在运行Ubuntu13.04(但如果有什么不同,我可以升级到更高版本的Ubuntu13.04) 解决方案: 事实证明

是否有一种方法可以让python使用Windows身份验证连接到MS SQL Server,即使不在Windows设备上运行python应用程序

我试图用pymssql来实现这一点,但这些示例似乎大多假设您正在windows上运行

如果有一种方法可以使用其他库进行连接,请随意提出建议,但我确实喜欢通过pip安装和部署pymssql的简单方式

我想连接到2005/2008数据库,我正在运行Ubuntu13.04(但如果有什么不同,我可以升级到更高版本的Ubuntu13.04)

解决方案:

事实证明,pymssql可以通过我的windows用户名和密码连接到我的数据库。但要这样做,我需要像这样传递实际的用户名/密码:

pymssql.connect(host, 'THEDOMAIN\\theusername', 'thepassword', db)

EkoostikMartin提供的解决方案仍然不错(如果您不想在某处存储密码,这可能是指向windows auth的密码)

您可以使用SQL Server ODBC驱动程序进行linux操作,并设置Kerberos


请参阅本文-

我认为这仍然需要将SQL Server配置为允许“混合”身份验证——如果没有Kerberos令牌,您就不会使用集成的Windows身份验证,即使凭据相同。对于Windows 10,该密码可能是您的整个microsoft帐户密码。使用自定义密码启用
sa
用户可能是个好主意,而不是使用您的microsoft帐户。这实际上非常简单-我安装了pyodbc python包,然后像这样连接到SQL Server:
pyodbc.connect(“驱动程序={SQL Server}”;Server=servername\instancename;Trusted_Connection=yes;database=databasename”)