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:

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

  1. Skapa en ny fil med namnet sqltest.py i en textredigerare.

  2. 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

  1. Kör följande kommando i en kommandotolk:

    python sqltest.py
    
  2. 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.

Nästa steg