我连接到两个数据库,第一个使用' 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')
我在这里缺少什么?
答案 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')