【发布时间】:2014-02-14 07:08:27
【问题描述】:
有没有办法让 python 使用 Windows 身份验证 连接到 MS SQL Server,即使没有在 windows 盒子上运行 python 应用程序?
我正在尝试使用 pymssql 执行此操作,但这些示例似乎大多假设您在 Windows 上运行。
如果有办法使用其他库建立这种连接,请随时提出建议,但我确实喜欢通过 pip 轻松安装和部署 pymssql。
我想连接到 2005/2008 数据库,并且我正在运行 Ubuntu 13.04(但如果有影响,我可以升级到更高版本的 Ubuntu)
解决方案:
事实证明,pymssql 可以通过我的 windows 用户名和密码连接到我的数据库。但要这样做,我需要像这样传递实际的用户名/密码:
pymssql.connect(host, 'THEDOMAIN\\theusername', 'thepassword', db)
EkoostikMartin 提供的解决方案仍然很好(如果您不想在某处存储密码,这可能是 Windows auth 的重点)
【问题讨论】:
-
我认为这仍然需要将 SQL Server 配置为允许“混合”身份验证——没有 Kerberos 令牌,即使凭据相同,您也没有使用集成 Windows 身份验证。
-
在 Windows 10 中,该密码可能是您的整个 microsoft 帐户密码。最好使用自定义密码启用
sa用户,而不是使用您的微软帐户。
标签: python sql-server pymssql