![](/img/trans.png)
[英]Cannot connect to SQL server from python using Active Directory Authentication
[英]Connect to SQL Server DB with Active Directory Universal Authentication using Python
首先,我不是开发人员,因此对于这是一个多余或无益的问题,我深表歉意。
在Microsoft SQL Server Management Studio中,我可以使用Active Directory通用身份验证连接到特定的服务器,但是我无法找到使用Python进行此操作的方法。
使用该应用程序登录时,单击“连接”后,将弹出一个Azure登录屏幕,并且可以使用我的用户名:myname@domain.com和密码登录。
但是,当我尝试通过以下代码使用pyodbc连接时,出现以下错误:
import pyodbc
def main():
serverName = "name.database.windows.net"
dbName = "DatabaseName"
connection = pyodbc.connect("DRIVER={SQL Server};SERVER=" + serverName +
";DATABASE=" + dbName +
";UID=myname@domain.com;PWD=mypassword")
cursor = connection.cursor()
data = cursor.execute("select * from sometable;")
allData = data.fetchall()
connection.close()
for i in allData:
print(i)
if __name__== "__main__":
main()
pyodbc.ProgrammingError :(“ 42000”,“ [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法打开登录名请求的服务器“域”。IP地址为“ xx.xx.xx.xx”的客户端不允许访问服务器要启用访问,请使用Windows Azure管理门户或在主数据库上运行sp_set_firewall_rule来为此IP地址或地址范围创建防火墙规则,此更改最多可能需要五分钟的时间。 (40615)(SQLDriverConnect); [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]
我知道有类似问题的帖子,但是我不确定这是同一个问题。 我必须为此服务器使用Active Directory通用身份验证。 我已经尝试了从pyodbc.drivers()返回的所有SQL Server驱动程序,但是没有运气。 我使用与通过Python程序尝试登录时使用的IP地址相同的IP地址通过SQL Server Management Studio登录。 我可以使用其他模块登录Azure,还是不能这样做?
作为参考,下面是我通过Microsoft SQL Server Management Studio登录时看到的弹出窗口。 我已经坚持了一段时间,因此我们将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.