【问题标题】:Connecting to MS-SQL from pyodbc using windows authentication使用 Windows 身份验证从 pyodbc 连接到 MS-SQL
【发布时间】:2012-07-03 04:25:32
【问题描述】:

我正在尝试使用 pyodbc 连接到 MSSQL 服务器。我可以连接到服务器并使用基本身份验证模式查询它:

connection = pyodbc.connect("DRIVER={Easysoft ODBC-SQL Server};SERVER=192.168.2.119;DATABASE=dbame;UID=**;PWD=****")

与 MSSQL 的连接也可以使用带有参数的 Windows 身份验证来完成

DOMAIN
USERNAME
PASSWORD

我不知道如何使用来自 pyodbc 的这种凭据连接到 MSSQL Server。

此外,我使用的 ODBC 驱动程序(Easysoft ODBC-SQL Server)需要许可。我们不是免费获得这样的驱动程序吗?

【问题讨论】:

    标签: python sql-server odbc windows-authentication pyodbc


    【解决方案1】:

    使用 NTLM 身份验证的 Easysoft SQL Server 驱动程序参数是

    Trusted_Domain=
    NTLMv2=是|否
    Trusted_Connection=是|否

    和 UID、PWD 一样。

    也可以简单地使用类似的 UID 触发 NTLM

    域\用户

    如果要使用Kerberous,可以设置如下

    服务器SPN=SPN

    这是驱动程序的所有用户指南

    【讨论】:

      【解决方案2】:

      connection = pyodbc.connect("DRIVER={Easysoft ODBC-SQL Server};SERVER=192.168.2.119;DATABASE=dbame;UID=;PWD=**")

      连接的字符串部分就是所谓的 DSN-Less 连接,因此您可以传入任何所需的属性,例如:-

      connection = pyodbc.connect("DRIVER={Easysoft ODBC-SQL Server};SERVER=192.168.2.119;DATABASE=dbame;UID=MyWindowsUserName;PWD=MyPassword;Trusted_Domain=MyWindowsDomainName;Trusted_Connection=1")

      Trusted_Connection = 1 告诉 Easysoft 驱动程序您打算使用 Trusted_Domain、用户 (UID) 和密码 (PWD) 登录 SQL Server。

      有关 Easysoft ODBC-SQL Server Driver 中所有可用属性的完整列表,请阅读手册的 Attributes 部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-07
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-10
        相关资源
        最近更新 更多