我连接到两个数据库,第一个使用“SQL Server 身份验证”,第二个使用“Active Directory 通用身份验证”。
在 Win 7、python 2.7.12、pyodbc v4.0.17 上运行此程序,安装了 Microsoft 在线服务登录助手,我通常从 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')
我在这里错过了什么?
请您参考如下方法:
你试过这个吗:
cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=YOURSERVER;DATABASE=YOURDATABASE;Trusted_Connection=yes')
请务必使用您正在使用的计算机上可用的驱动程序。要检查您可以使用哪个:
pyodbc.drivers()
此外,如果您使用的是工作计算机,您可能已经让 obdc 管理员加载了预先配置的连接。要进行检查,您可以在 Windows 菜单上搜索“odbc 管理”,如果您打开并且有您想要的连接,您可以使用它然后调用它:
cnxn = pyodbc.connect('DSN=YOURCONNECTIONNAME')
