pymssql Windows身份验证

用于支持Windows身份验证pymssql模块。 现在看来事实并非如此。 虽然在一些地方仍然表明,它应该工作。 我一直无法找到一个明确的答案,这个问题,也不是一个解决方案。 最相关的链接:

https://groups.google.com/forum/#​​!topic/pymssql/QDMLTGBNeU0

pymssql 1.0支持它,因为它利用了,并依赖于MS-提供DLL这是SQL Server客户端堆栈的一部分。 该协议栈是负责处理所有的NTLM谈判并的。 这意味着,除其他事项外,这是一个Windows的唯一解决方案。

我可以模拟很多各种各样的网络环境,所以我已经尝试了许多不同的设置。 我想能够使用这个脚本来连接到使用Windows身份验证的远程MSSQL服务器。 这就是问题所在。



根据我的研究,包括上面的链接,也有使用Windows身份验证与都应该工作pymssql模块两种方式。

第一种方法:使用当前用户的凭据:

pymssql.connect(server='server') # credentials come from active windows session # some research shows that a "trusted=True" keyword should be provided.

第二种方法:使用给定用户的凭据:

pymssql.connect(server='server', user=r'domain\user', password='pass') # credentials are given in code and somehow converted to a # windows authentication in the background # some research shows that a "trusted=True" keyword should be provided.

这同样适用于使用_mssql模块。



笔记:

  • Python版本:2.7.8
  • 我使用pymssql的版本:2.1.1
  • pymssql的版本,用于支持Windows身份验证:1.x中
  • 我曾与(共64位)进行测试:
    • Windows 7专业版
    • Windows 7家庭高级
    • Windows Server 2012中
    • 在Windows Server 2012R2


在话题的其他问题:

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

无法使用pymssql使用Windows身份验证连接

MSSQL蟒蛇Windows身份验证

--------------解决方案-------------

最近,我有同样的挑战。 我也使用Python 2.7和Windows身份验证在第一。 我能够连接的唯一方法是通过使用IronPython和导入CLR模块。 我不知道为什么它的工作,并希望从别人那就是关于这个问题的知识渊博的解释。 一些差异是我的服务器是本地数据库内部与“实体框架码第一'形成。 这里是最终连接我到服务器的代码。

import clr
clr.AddReference('System.Data')
from System.Data.SqlClient import *

Conn_string = 'data source=Server_Name; initial catalog=Database_Name; trusted_connection=True'
ScheduleConn = SqlConnection(Conn_string)
ScheduleConn.Open()

如果这没有解决您的问题,我希望它可以让你更接近你的解决方案。

分类:蟒蛇 时间:2015-03-15 人气:42
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.005 (s). 10 q(s)