Condividi tramite


Avvio rapido: usare Python per eseguire query su un database nel database SQL di Azure o nell'istanza gestita di SQL di Azure

Si applica a:Database SQL di AzureIstanza gestita di SQL di AzureAzure Synapse Analytics

In questa guida di avvio rapido viene usato Python per connettersi a un database SQL di Azure, a un'istanza gestita di SQL di Azure o a un database di Synapse SQL e vengono usate le istruzioni T-SQL per eseguire query sui dati.

Documentazione di mssql-python | Codice sorgente di mssql-python | Pacchetto (PyPi)

Prerequisiti

Per completare questo quickstart, sono necessari i seguenti elementi:

Configurazione

Seguire questa procedura per configurare l'ambiente di sviluppo per sviluppare un'applicazione usando il mssql-python driver Python.

Annotazioni

Questo driver usa il protocollo TDS (Tabular Data Stream), che è abilitato per impostazione predefinita in SQL Server, nel database SQL in Fabric e nel database SQL di Azure. Non è necessaria alcuna configurazione aggiuntiva.

Installare il pacchetto mssql-python

Ottieni il mssql-python pacchetto da PyPI.

  1. Aprire un prompt dei comandi in una directory vuota.

  2. Installare il pacchetto mssql-python.

    pip install mssql-python
    

Installare il pacchetto python-dotenv

Ottieni python-dotenv da PyPI.

  1. Nella stessa directory installare il python-dotenv pacchetto.

    pip install python-dotenv
    

Controllare i pacchetti installati

È possibile usare lo strumento da riga di comando PyPI per verificare che i pacchetti previsti siano installati.

  1. Controllare l'elenco dei pacchetti installati con pip list.

    pip list
    

Creare nuovi file

  1. Nella directory corrente creare un nuovo file denominato .env.

  2. All'interno del .env file aggiungere una voce per la stringa di connessione denominata SQL_CONNECTION_STRING. Sostituire l'esempio qui con il valore effettivo della stringa di connessione.

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

    Suggerimento

    La stringa di connessione usata qui dipende in gran parte dal tipo di database SQL a cui ci si connette. Se ci si connette a un database SQL di Azure o a un database SQL in Fabric, usare la stringa di connessione ODBC dalla scheda Stringhe di connessione. Potrebbe essere necessario modificare il tipo di autenticazione a seconda dello scenario. Per altre informazioni sulle stringhe di connessione e sulla relativa sintassi, vedere DSN e Parole chiave e attributi delle stringhe di connessione.

  3. Nell'editor di testo, creare un nuovo file chiamato sqltest.py.

  4. Aggiungi il seguente codice.

    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)
    

Eseguire il codice

  1. Al prompt dei comandi, eseguire il seguente comando:

    python sqltest.py
    
  2. Verificare che vengano restituiti i database e le relative regole di confronto, quindi chiudere la finestra di comando.

    Se si riceve un errore:

    • Controllare che il nome del server, il nome del database, il nome utente e la password in uso siano corretti.

    • Se si esegue il codice da un ambiente locale, verificare che il firewall della risorsa di Azure a cui si sta tentando di accedere sia configurato per consentire l'accesso dall'indirizzo IP di ambiente.