mssql python连接

时间:2017-01-27 10:13:22

标签: python sql-server

我正在使用Pycharm并尝试链接到mssql服务器。当我链接到需要SQL身份验证的服务器时,将成功创建连接。但是,当我尝试链接到需要我的Windows身份验证的服务器时,即使我使用Windows登录的用户名或密码,我也无法成功连接。如果是Windows身份验证,我可以知道应该设置什么样的正确方法。

我使用以下代码:

import pymssql
conn=pymssql.connect(host="10.xx.xx.xx",user="CORPORATE/mywindowsloginname",password="mypassword",database="BIC_reference")
cur=conn.cursor()y
cur.execute('SELECT top 10 * FROM dbo.hi_invoiceline')
print (cur.fetchall())

2 个答案:

答案 0 :(得分:1)

要使用Windows身份验证,您必须将属性trusted_connection='yes'添加到连接字符串中。在这种情况下,您可以省略用户名和密码:

conn=pymssql.connect(host="10.xx.xx.xx",database="BIC_reference",trusted_connection='yes')

答案 1 :(得分:1)

使用Windows身份验证时,不应指定任何用户凭据。假设您的Windows帐户具有相关权限,以下内容应该有效:

conn=pymssql.connect(host="10.xx.xx.xx",database="BIC_reference")

我使用pymssql-2.1.3对此进行了测试。使用此版本时无需指定trusted_connection='yes'(请参阅apomene的回答),但是,如果上述代码段不起作用,您可能也想尝试使用此版本。