Snabbstart: Använda Python för att fråga en databas i Azure SQL Database eller Azure SQL Managed Instance
Gäller för:Azure SQL DatabaseAzure SQL Managed InstanceAzure 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.
Förutsättningar
Följande krävs för att slutföra den här snabbstarten:
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
En databas där du kör en fråga.
Du kan använda någon av dessa snabbstarter för att skapa och sedan konfigurera en databas:
Åtgärd SQL Database SQL-hanterad instans SQL Server på virtuell Azure-dator Azure Synapse Analytics Skapa Portal Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell PowerShell Distributionsmall Distributionsmall Distributionsmall Distributionsmall Konfigurera IP-brandväggsregel på servernivå Anslutning från en virtuell dator inställningar för Anslut ivitet Anslut ivitet lokalt Anslut till en SQL Server-instans Hämta anslutningsinformation Azure SQL Azure SQL VIRTUELL SQL-dator Synapse SQL Python 3 och relaterad programvara
Åtgärd macOS Linux Windows Installera ODBC-drivrutinen, sqlcmd och Python-drivrutinen för SQL Server Konfigurera en miljö för pyodbc Python-utveckling Konfigurera en miljö för pyodbc Python-utveckling Konfigurera en miljö för pyodbc Python-utveckling. Installera Python och andra nödvändiga paket Använd sudo apt-get install python python-pip gcc g++ build-essential
.Mer information Microsoft ODBC-drivrutin på macOS Microsoft ODBC-drivrutin i Linux Microsoft ODBC-drivrutin i Windows
Mer information om Python och databasen i Azure SQL Database finns i Azure SQL Database-bibliotek för Python, pyodbc-lagringsplatsen och ett pyodbc-exempel.
Skapa kod för att köra frågor mot databasen
Skapa en ny fil med namnet sqltest.py i en textredigerare.
Lägg till följande kod: Hämta anslutningsinformationen från avsnittet krav och ersätt dina egna värden med <server>, <databas>, <användarnamn> och <lösenord>.
import pyodbc server = '<server>.database.windows.net' database = '<database>' username = '<username>' password = '{<password>}' driver= '{ODBC Driver 17 for SQL Server}' with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password) as conn: with conn.cursor() as cursor: cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases") row = cursor.fetchone() while row: print (str(row[0]) + " " + str(row[1])) row = cursor.fetchone()
Kör koden
Kör följande kommando i en kommandotolk:
python sqltest.py
Kontrollera 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.
- Kontrollera att ODBC-drivrutinen som du installerade är samma version som variabeln
driver
i koden ovan. Koden visar till exempel 17, men du kan ha installerat en annan version. - 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.