如何使用AD通用身份验证将Python的pyodbc连接到MS SQL?

时间:2017-06-28 17:28:07

标签: python sql-server active-directory pyodbc

我连接到两个数据库,第一个使用' SQL Server身份验证'第二个问题是使用“Active Directory通用身份验证”。

在Win 7,python 2.7.12,pyodbc v4.0.17上运行此命令,安装了Microsoft Online Services登录助手,我通常从MSSMS 2016访问数据库。

对于第一个数据库,我使用以下工具:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=ourDatabase.database.windows.net;PORT=1433;DATABASE=ourDataBaseName;UID=USERID;PWD=PASSWORD')

第二个数据库我已经尝试了所有这些,但是没有工作:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=.\ourDatabase.database.windows.net;DATABASE=ourDataBaseName;UID=user@companydomain.com;PWD=MyPass;Trusted_Connection=yes')

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=ourDatabase.database.windows.net;DATABASE=ourDataBaseName;UID=user@companydomain.com;PWD=MyPass;Trusted_Connection=yes')

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=ourDatabase.database.windows.net;DATABASE=ourDataBaseName;UID=user;PWD=MyPass;Trusted_Connection=yes')

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=.\ourDatabase.database.windows.net;DATABASE=ourDataBaseName;UID=user@companydomain.com;PWD=MyPass;Trusted_Connection=yes')

我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

你试过这个:

cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=YOURSERVER;DATABASE=YOURDATABASE;Trusted_Connection=yes')

请务必使用您正在使用的计算机中可用的驱动程序。要检查您可以使用哪个:

pyodbc.drivers()

此外,如果您在工作计算机上,则可能已经为obdc管理员加载了预先配置的连接。要检查您是否可以在Windows菜单上搜索“odbc administration”,如果您打开并且有所需的连接,您可以使用它然后只需调用它:

cnxn = pyodbc.connect('DSN=YOURCONNECTIONNAME')
相关问题