Freigeben über


Schnellstart: Abfragen einer Datenbank in Azure SQL-Datenbank oder Azure SQL Managed Instance mithilfe von Python

Gilt für:Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

In dieser Schnellstartanleitung stellen Sie mithilfe von Python eine Verbindung mit Azure SQL-Datenbank, Azure SQL Managed Instance oder einer Synapse SQL-Datenbank her und fragen Daten mithilfe von T-SQL-Anweisungen ab.

mssql-python-Dokumentation | mssql-python-Quellcode | Paket (PyPi)

Voraussetzungen

Für die Durchführung dieses Schnellstarts benötigen Sie Folgendes:

Einrichten

Führen Sie die folgenden Schritte aus, um Ihre Entwicklungsumgebung so zu konfigurieren, dass eine Anwendung mit dem mssql-python Python-Treiber entwickelt wird.

Hinweis

Dieser Treiber verwendet das TDS-Protokoll (Tabular Data Stream ), das standardmäßig in SQL Server, SQL-Datenbank in Fabric und Azure SQL-Datenbank aktiviert ist. Es ist keine zusätzliche Konfiguration erforderlich.

Installieren des mssql-python-Pakets

Holen Sie das mssql-python Paket von PyPI.

  1. Öffnen Sie eine Eingabeaufforderung in einem leeren Verzeichnis.

  2. Installieren Sie das mssql-python-Paket.

    pip install mssql-python
    

Installieren des Python-dotenv-Pakets

Holen Sie sich die python-dotenv von PyPI.

  1. Installieren Sie das Paket im selben python-dotenv Verzeichnis.

    pip install python-dotenv
    

Installierte Pakete prüfen

Sie können das Befehlszeilentool PyPI verwenden, um zu überprüfen, ob Ihre vorgesehenen Pakete installiert sind.

  1. Überprüfen Sie die Liste der installierten Pakete mit pip list.

    pip list
    

Erstellen neuer Dateien

  1. Erstellen Sie im aktuellen Verzeichnis eine neue Datei mit dem Namen .env.

  2. Fügen Sie in der .env Datei einen Eintrag für die Verbindungszeichenfolge mit dem Namen SQL_CONNECTION_STRINGhinzu. Ersetzen Sie das Beispiel hier durch ihren tatsächlichen Verbindungszeichenfolgenwert.

    SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"
    

    Tipp

    Die hier verwendete Verbindungszeichenfolge hängt weitgehend vom Typ der SQL-Datenbank ab, mit der Sie eine Verbindung herstellen. Wenn Sie eine Verbindung mit einer Azure SQL-Datenbank oder einer SQL-Datenbank in Fabric herstellen, verwenden Sie die ODBC-Verbindungszeichenfolge auf der Registerkarte "Verbindungszeichenfolgen". Möglicherweise müssen Sie den Authentifizierungstyp je nach Szenario anpassen. Weitere Informationen zu Verbindungszeichenfolgen und deren Syntax finden Sie unter DSN- und Verbindungszeichenfolgenstichwörter und -attribute.

  3. Erstellen Sie in einem Text-Editor eine neue Datei namens sqltest.py.

  4. Fügen Sie den folgenden Code hinzu.

    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)
    

Ausführen des Codes

  1. Führen Sie an der Eingabeaufforderung folgenden Befehl aus:

    python sqltest.py
    
  2. Vergewissern Sie sich, dass die Datenbanken und die zugehörigen Sortierungen zurückgegeben werden, und schließen Sie dann das Befehlsfenster.

    Wenn eine Fehlermeldung angezeigt wird:

    • Stellen Sie sicher, dass der Servername, der Datenbankname, der Benutzername und das Kennwort, die Sie verwenden, richtig sind.

    • Wenn Sie den Code aus einer lokalen Umgebung ausführen, vergewissern Sie sich, dass die Firewall der Azure-Ressource, auf die Sie zugreifen möchten, so konfiguriert ist, dass der Zugriff über die IP-Adresse Ihrer Umgebung zugelassen wird.