2017-06-28 5 views
0

Je me connecte à deux bases de données: la première utilise 'Authentification SQL Server', la seconde utilise le 'Authentification Universelle Active Directory'.Comment connecter pyodbc de Python à MS SQL en utilisant AD Universal Authentication?

L'exécution de ce sur Win 7, python 2.7.12, pyodbc v4.0.17, Microsoft Online Services Assistant de connexion est installé et je normalement accès à la base de données MSSMS 2016.

Pour la première base de données que j'utilise la suivant, qui fonctionne:

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

La seconde base de données que j'ai essayé tous ces domaines, qui ne fonctionne pas:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=.\ourDatabase.database.windows.net;DATABASE=ourDataBaseName;[email protected];PWD=MyPass;Trusted_Connection=yes') 

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=ourDatabase.database.windows.net;DATABASE=ourDataBaseName;[email protected];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;[email protected];PWD=MyPass;Trusted_Connection=yes') 

Qu'est-ce que je manque ici?

+0

Avez-vous vu [cet article Microsoft Docs] (https://docs.microsoft.com/en-us/sql/connect/odbc/using-azure-active-directory)? –

Répondre

4

Avez-vous essayé ceci:

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

Assurez-vous d'utiliser un pilote qui est disponible dans l'ordinateur que vous utilisez. Pour vérifier que vous pouvez utiliser:

pyodbc.drivers() 

De plus, les chances sont que si vous êtes sur un ordinateur de travail, vous avez déjà l'administrateur chargé OBDC avec une connexion préconfigurés. Pour vérifier que vous pouvez effectuer une recherche dans le menu Windows pour « administration odbc » si vous ouvrez et il y a la connexion que vous voulez, vous pouvez l'utiliser et ensuite appeler simplement:

cnxn = pyodbc.connect('DSN=YOURCONNECTIONNAME')