Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics-
In deze quickstart gebruikt u Python om verbinding te maken met Azure SQL Database, Azure SQL Managed Instance of Synapse SQL-database en gebruikt u T-SQL-instructies om query's uit te voeren op gegevens.
documentatie | mssql-python-broncode | Pakket (PyPI)
Vereiste voorwaarden
U hebt het volgende nodig om deze quickstart te voltooien:
Een Azure-account met een actief abonnement. Gratis een account maken
Een database
U kunt een van deze quickstarts gebruiken om een database te maken en vervolgens te configureren:
Handeling SQL Databank SQL Beheerde Instantie SQL Server op Azure VM Azure Synapse Analytics Maak Portaal Portaal Portaal Portaal CLI CLI PowerShell PowerShell PowerShell PowerShell uitrolsjabloon uitrolsjabloon uitrolsjabloon uitrolsjabloon Configureren IP-firewallregel op serverniveau Verbinding vanuit een VM connectiviteitsinstellingen Connectiviteit vanuit de lokale omgeving Verbinding maken met een SQL Server-exemplaar Verbindingsgegevens ophalen Azure SQL Azure SQL SQL VM- Synapse SQL Python 3
Als u Python nog niet hebt, installeert u de Python-runtime en PyPI-pakketbeheer (Python Package Index) vanuit python.org.
Wilt u liever geen gebruik maken van uw eigen omgeving? Open als devcontainer met behulp van GitHub Codespaces.
Een database op SQL Server, Azure SQL Database of SQL Database in Fabric met het
AdventureWorks2025voorbeeldschema en een geldige verbindingsreeks.
Installeren
Volg deze stappen om uw ontwikkelomgeving te configureren voor het ontwikkelen van een toepassing met behulp van het mssql-python Python-stuurprogramma.
Opmerking
Dit stuurprogramma maakt gebruik van het TDS-protocol (Tabular Data Stream), dat standaard is ingeschakeld in SQL Server, SQL Database in Fabric en Azure SQL Database. Er is geen extra configuratie vereist.
Het mssql-python-pakket installeren
Haal het mssql-python pakket op uit PyPI.
Open een opdrachtprompt in een lege map.
Installeer het
mssql-python-pakket.
Python-dotenv-pakket installeren
Haal de python-dotenv uit PyPI.
Installeer het
python-dotenvpakket in dezelfde map.pip install python-dotenv
Geïnstalleerde pakketten controleren
U kunt het opdrachtregelprogramma PyPI gebruiken om te controleren of de beoogde pakketten zijn geïnstalleerd.
Controleer de lijst met geïnstalleerde pakketten met
pip list.pip list
Nieuwe bestanden maken
Maak in de huidige map een nieuw bestand met de naam
.env.Voeg in het
.envbestand een vermelding toe voor de verbindingsreeks met de naamSQL_CONNECTION_STRING. Vervang de tijdelijke aanduidingen<database-server-name>en<database-name>door uw eigen waarden.Het mssql-python-stuurprogramma biedt ingebouwde ondersteuning voor Microsoft Entra-verificatie. Gebruik de
Authenticationparameter om de verificatiemethode op te geven.- ActiveDirectoryDefault (aanbevolen)
- interactieve authenticatie
- SQL-verificatie
- Fabric SQL Database
ActiveDirectoryDefaultontdekt automatisch inloggegevens uit meerdere bronnen zonder interactieve aanmelding. Dit is de aanbevolen optie voor lokale ontwikkeling en werkt op Windows, macOS en Linux.Meld u eerst aan met Azure CLI voor de meest betrouwbare ervaring voor lokale ontwikkeling:
az loginGebruik vervolgens deze verbindingsreeksindeling in uw
.envbestand:SQL_CONNECTION_STRING="Server=<database-server-name>.database.windows.net;Database=<database-name>;Authentication=ActiveDirectoryDefault;Encrypt=yes;TrustServerCertificate=no"ActiveDirectoryDefaultevalueert referenties in de volgende volgorde:- Omgevingsvariabelen (voor inloggegevens van de service-principal)
- Beheerde identiteit (wanneer deze wordt uitgevoerd in Azure)
-
Azure CLI (van
az login) - Visual Studio (alleen Windows)
-
Azure PowerShell (van
Connect-AzAccount)
Aanbeveling
Gebruik voor productietoepassingen de specifieke verificatiemethode voor uw scenario om latentie van referentiedetectie te voorkomen:
-
Azure App Service/Functions: Gebruiken
ActiveDirectoryMSI(beheerde identiteit) -
Interactieve gebruikersaanmelding: gebruiken
ActiveDirectoryInteractive -
Service-principal: Gebruik
ActiveDirectoryServicePrincipal
Aanbeveling
De hier gebruikte verbindingsreeks is grotendeels afhankelijk van het type SQL-database waarmee u verbinding maakt. Zie DSN- en verbindingsreekstrefwoorden en -kenmerken voor meer informatie over verbindingsreeksen en hun syntaxis.
Maak in een teksteditor een nieuw bestand met de naam sqltest.py.
Voeg de volgende code toe.
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)
De code uitvoeren
Voer de volgende opdracht uit op een opdrachtprompt:
python sqltest.pyControleer of de databases en de bijbehorende sorteringen worden geretourneerd en sluit vervolgens het opdrachtvenster.
Als u een foutmelding krijgt:
Controleer of de servernaam, databasenaam, gebruikersnaam en wachtwoord die u gebruikt, juist zijn.
Als u de code uitvoert vanuit een lokale omgeving, controleert u of de firewall van de Azure-resource die u probeert te openen, is geconfigureerd om toegang vanaf het IP-adres van uw omgeving toe te staan.