Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Database SQL di Azure
Istanza gestita di SQL di Azure
Azure 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:
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Una banca dati
Per creare, quindi configurare un database è possibile usare una di queste guide di avvio rapido:
Azione Database SQL Istanza gestita di SQL SQL Server in una macchina virtuale Azure Azure Synapse Analytics Creazione Portale Portale Portale Portale CLI CLI PowerShell PowerShell PowerShell PowerShell Modello di distribuzione Modello di distribuzione Modello di distribuzione Modello di distribuzione Configurare Regola del firewall IP a livello di server Connettività da una VM Impostazioni della connettività Connettività dall'ambiente locale Connettersi a un'istanza di SQL Server Ottenere informazioni di connessione Azure SQL Azure SQL VM SQL Synapse SQL Python 3
Se Python non è già disponibile, installare la gestione pacchetti Python runtime e Python Package Index (PyPI) da python.org.
Preferisce non usare il proprio ambiente? Apri come devcontainer usando GitHub Codespaces.
Un database su SQL Server, SQL di Azure o SQL in Fabric con uno schema di esempio e una stringa di connessione valida.
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.
Aprire un prompt dei comandi in una directory vuota.
Installare il pacchetto
mssql-python.
Installare il pacchetto python-dotenv
Ottieni python-dotenv da PyPI.
Nella stessa directory installare il
python-dotenvpacchetto.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.
Controllare l'elenco dei pacchetti installati con
pip list.pip list
Creare nuovi file
Nella directory corrente creare un nuovo file denominato
.env.All'interno del
.envfile aggiungere una voce per la stringa di connessione denominataSQL_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.
Nell'editor di testo, creare un nuovo file chiamato sqltest.py.
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
Al prompt dei comandi, eseguire il seguente comando:
python sqltest.pyVerificare 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.