使用Windows身份验证从pyodbc连接到MS-SQL

时间:2012-07-03 04:25:32

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

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

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

使用Windows身份验证也可以使用参数

来连接到MSSQL
DOMAIN
USERNAME
PASSWORD

我不知道如何使用pyodbc中的这种凭证连接到MSSQL Server。

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

2 个答案:

答案 0 :(得分:1)

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

Trusted_Domain =<域名>
的NTLMv2 =是|否
Trusted_Connection =是|否

UID,PWD像往常一样。

也可以使用看起来像

的UID触发NTLM

域\用户

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

ServerSPN = SPN

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

答案 1 :(得分:0)

  

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 部分。