pymssql:如何在非Windows框上运行时使用Windows身份验证

Dan*_*Dan 8 python sql-server pymssql

有没有办法使用Windows身份验证连接到MS SQL Server ,即使没有在Windows框上运行python应用程序

我试图用pymssql做这个,但是这些例子似乎主要假设你在windows上运行.

如果有一种方法可以使用其他库来建立这种连接,请随时提出建议,但我确实喜欢pymssql如何通过pip安装和部署.

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

解:

事实证明,pymssql可以通过我的Windows用户名和密码连接到我的数据库.但要这样做,我需要传递实际的用户名/密码,如下所示:

pymssql.connect(host, 'THEDOMAIN\\theusername', 'thepassword', db)
Run Code Online (Sandbox Code Playgroud)

EkoostikMartin提供的解决方案仍然很好(如果你不想在某个地方存储密码,这可能是windows auth的意思)

Eko*_*tin 7

您可以使用Linux的SQL Server ODBC驱动程序,并设置Kerberos.

请参阅此文章 - http://technet.microsoft.com/en-us/library/hh568450.aspx

  • 这实际上非常简单 - 我安装了pyodbc python包,然后像这样连接到SQL Server:`pyodbc.connect("Driver = {SQL Server}; Server = servername\instancename; Trusted_Connection = yes; database = databasename") ` (3认同)