Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
I den här snabbstarten använder du Python för att ansluta till Azure SQL Database, Azure SQL Managed Instance eller Synapse SQL Database och använder T-SQL-uttryck för att fråga efter data.
mssql-python-dokumentation | mssql-python-källkod | Paket (PyPI)
Förutsättningar
För att slutföra den här snabbstarten behöver du:
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt.
En databas
Du kan använda någon av dessa snabbstarter för att skapa och sedan konfigurera en databas:
Åtgärd SQL-databas SQL-hanterad instans SQL Server på en virtuell Azure-dator Azure Synapse Analytics Skapa Portal Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell PowerShell Distribueringsmall Distribueringsmall Distribueringsmall Distribueringsmall Konfigurera IP-brandväggsregel på servernivå Anslutning från en virtuell dator Anslutningsinställningar Anslutning från lokal infrastruktur Anslut till en SQL Server-instans Hämta anslutningsinformation Azure SQL Azure SQL SQL-virtuell dator Synapse SQL Python 3
Om du inte redan har Python installerar du Pakethanteraren python runtime och Python Package Index (PyPI) från python.org.
Föredrar du att inte använda din egen miljö? Öppna som en devcontainer med hjälp av GitHub Codespaces.
En databas på SQL Server, Azure SQL Database eller SQL Database i Fabric med
AdventureWorks2025exempelschemat och en giltig anslutningssträng.
Förbereda
Följ de här stegen för att konfigurera utvecklingsmiljön för att utveckla ett program med hjälp av Python-drivrutinen mssql-python .
Anmärkning
Den här drivrutinen använder TDS-protokollet (Tabular Data Stream), som är aktiverat som standard i SQL Server, SQL Database i Fabric och Azure SQL Database. Ingen extra konfiguration krävs.
Installera mssql-python-paketet
mssql-python Hämta paketet från PyPI.
Öppna en kommandotolk i en tom katalog.
Installera paketet
mssql-python.
Installera python-dotenv-paket
Hämta python-dotenv från PyPI.
Installera paketet i
python-dotenvsamma katalog.pip install python-dotenv
Kontrollera installerade paket
Du kan använda kommandoradsverktyget PyPI för att kontrollera att dina avsedda paket är installerade.
Kontrollera listan över installerade paket med
pip list.pip list
Skapa nya filer
I den aktuella katalogen skapar du en ny fil med namnet
.env.I
.env-filen lägger du till en post för din anslutningssträng med namnetSQL_CONNECTION_STRING. Ersätt platshållarna<database-server-name>och<database-name>med dina egna värden.Drivrutinen mssql-python har inbyggt stöd för Microsoft Entra-autentisering. Använd parametern
Authenticationför att ange autentiseringsmetoden.- ActiveDirectoryDefault (rekommenderas)
- interaktiv autentisering
- SQL-autentisering
- Fabric SQL-databas
ActiveDirectoryDefaultidentifierar automatiskt autentiseringsuppgifter från flera källor utan att kräva interaktiv inloggning. Det här är det rekommenderade alternativet för lokal utveckling och fungerar i Windows, macOS och Linux.Logga in med Azure CLI först för att få den mest tillförlitliga lokala utvecklingsupplevelsen:
az loginAnvänd sedan det här anslutningssträngformatet i
.envfilen:SQL_CONNECTION_STRING="Server=<database-server-name>.database.windows.net;Database=<database-name>;Authentication=ActiveDirectoryDefault;Encrypt=yes;TrustServerCertificate=no"ActiveDirectoryDefaultutvärderar autentiseringsuppgifter i följande ordning:- Miljövariabler (för autentiseringsuppgifter för tjänstehuvudman)
- Hanterad identitet (när den körs i Azure)
-
Azure CLI (från
az login) - Visual Studio (endast Windows)
-
Azure PowerShell (från
Connect-AzAccount)
Tips/Råd
För produktionsprogram använder du den specifika autentiseringsmetoden för ditt scenario för att undvika svarstid för identifiering av autentiseringsuppgifter:
-
Azure App Service/Functions: Använd
ActiveDirectoryMSI(hanterad identitet) -
Interaktiv användarinloggning: Använd
ActiveDirectoryInteractive -
Tjänstens huvudnamn: Använd
ActiveDirectoryServicePrincipal
Tips/Råd
Anslutningssträngen som används här beror till stor del på vilken typ av SQL-databas du ansluter till. Mer information om anslutningssträngar och deras syntax finns i nyckelord och attribut för DSN och anslutningssträngar.
Skapa en ny fil med namnet sqltest.py i en textredigerare.
Lägg till följande kod.
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)
Kör koden
Kör följande kommando i en kommandotolk:
python sqltest.pyKontrollera att databaserna och deras sorteringar returneras och stäng sedan kommandofönstret.
Om du får ett fel:
Kontrollera att servernamnet, databasnamnet, användarnamnet och lösenordet som du använder är korrekta.
Om du kör koden från en lokal miljö kontrollerar du att brandväggen för den Azure-resurs som du försöker komma åt har konfigurerats för att tillåta åtkomst från din miljös IP-adress.