Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique :Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Dans ce guide de démarrage rapide, vous utilisez Python pour vous connecter à Azure SQL Database, Azure SQL Managed Instance ou une base de données Synapse SQL, puis utilisez des instructions T-SQL pour interroger les données.
documentation mssql-python | code source mssql-python | Package (PyPI)
Prérequis
Pour effectuer ce démarrage rapide, les éléments suivants sont requis :
Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Une base de données
Utilisez l’un de ces guides de démarrage rapide pour créer et configurer une base de données :
Action Base de données SQL Instance managée SQL SQL Server sur une machine virtuelle Azure Azure Synapse Analytics Créer Portail Portail Portail Portail CLI CLI PowerShell PowerShell PowerShell PowerShell Modèle de déploiement Modèle de déploiement Modèle de déploiement Modèle de déploiement Configurer Règle de pare-feu IP au niveau du serveur Connectivité à partir d’une machine virtuelle Paramètres de connectivité Connectivité locale Se connecter à une instance SQL Server Obtenir des informations de connexion Azure SQL Azure SQL Machine virtuelle SQL SQL Synapse Python 3
Si vous n’avez pas encore Python, installez le gestionnaire de package Python runtime et Python Package Index (PyPI) à partir de python.org.
Préférez ne pas utiliser votre propre environnement ? Ouvrez en tant que devcontainer à l’aide de GitHub Codespaces.
Base de données sur SQL Server, Azure SQL Database ou base de données SQL dans Fabric avec l’exemple
AdventureWorks2025de schéma et une chaîne de connexion valide.
Configuration
Suivez ces étapes pour configurer votre environnement de développement pour développer une application à l’aide du mssql-python pilote Python.
Note
Ce pilote utilise le protocole TDS (Tabular Data Stream), qui est activé par défaut dans SQL Server, sql Database dans Fabric et Azure SQL Database. Aucune configuration supplémentaire n’est requise.
Installer le package mssql-python
Obtenez le mssql-python package à partir de PyPI.
Ouvrez une invite de commandes dans un répertoire vide.
Installez le package
mssql-python.
Installer le package python-dotenv
Obtenez le python-dotenv de PyPI.
Dans le même répertoire, installez le
python-dotenvpackage.pip install python-dotenv
Vérifier les packages installés
Vous pouvez utiliser l’outil en ligne de commande PyPI pour vérifier que vos packages prévus sont installés.
Vérifiez la liste des packages installés avec
pip list.pip list
Créer des fichiers
Dans le répertoire actif, créez un fichier nommé
.env.Dans le
.envfichier, ajoutez une entrée pour votre chaîne de connexion nomméeSQL_CONNECTION_STRING. Remplacez les espaces réservés<database-server-name>et<database-name>par vos valeurs.Le pilote mssql-python prend en charge l’authentification intégrée de Microsoft Entra. Utilisez le
Authenticationparamètre pour spécifier la méthode d’authentification.- ActiveDirectoryDefault (recommandé)
- Authentification interactive
- Authentification SQL
- Base de données SQL Fabric
ActiveDirectoryDefaultdétecte automatiquement les informations d’identification de plusieurs sources sans nécessiter de connexion interactive. Il s’agit de l’option recommandée pour le développement local et fonctionne sur Windows, macOS et Linux.Pour obtenir l’expérience de développement local la plus fiable, connectez-vous avec Azure CLI en premier :
az loginUtilisez ensuite ce format de chaîne de connexion dans votre
.envfichier :SQL_CONNECTION_STRING="Server=<database-server-name>.database.windows.net;Database=<database-name>;Authentication=ActiveDirectoryDefault;Encrypt=yes;TrustServerCertificate=no"ActiveDirectoryDefaultévalue les informations d’identification dans l’ordre suivant :- Variables d’environnement (pour les informations d’identification du principal de service)
- Identité managée (lors de l’exécution sur Azure)
-
Azure CLI (à partir de
az login) - Visual Studio (Windows uniquement)
-
Azure PowerShell (à partir de
Connect-AzAccount)
Conseil / Astuce
Pour les applications de production, utilisez la méthode d’authentification spécifique pour votre scénario pour éviter la latence de découverte des informations d’identification :
-
Azure App Service/Functions : Utiliser
ActiveDirectoryMSI(identité managée) -
Connexion utilisateur interactive : Utiliser
ActiveDirectoryInteractive -
Principal de service : Utiliser
ActiveDirectoryServicePrincipal
Conseil / Astuce
La chaîne de connexion utilisée ici dépend en grande partie du type de base de données SQL à laquelle vous vous connectez. Pour plus d’informations sur les chaînes de connexion et leur syntaxe, consultez mots clés et attributs de chaîne de connexion et DSN.
Créez un nouveau fichier nommé sqltest.py dans un éditeur de texte.
Ajoutez le code ci-dessous.
from os import getenv from dotenv import load_dotenv from mssql_python import connect load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: with conn.cursor() as cursor: cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases") rows = cursor.fetchall() for row in rows: print(row.name, row.collation_name)
Exécuter le code
Depuis une invite de commandes, exécutez la commande suivante :
python sqltest.pyVérifiez que les bases de données et leurs classements sont retournés, puis fermez la fenêtre Commande.
Si vous recevez une erreur :
Vérifiez que le nom du serveur, le nom de la base de données, le nom d’utilisateur et le mot de passe que vous utilisez sont corrects.
Si vous exécutez le code à partir d’un environnement local, vérifiez que le pare-feu de la ressource Azure à laquelle vous essayez d’accéder est configuré pour autoriser l’accès à partir de l’adresse IP de votre environnement.