Connessione a un database in Visual Studio

I passaggi descritti in questo articolo illustrano come connettersi a un'origine dati nell'IDE di Visual Studio. L'origine dati può essere un database locale, un servizio dati online o un database aperto da un .mdf file. È possibile usare direttamente i dati in Visual Studio. È possibile eseguire query, modificare dati, creare e modificare tabelle e altre proprietà dello schema, modificare stored procedure e funzioni, trigger e così via. Queste funzioni sono indipendenti dal linguaggio di programmazione o dalla versione di .NET in uso.

Esplora server e SQL Server Esplora oggetti

È possibile aprire una connessione a un database o a un servizio, un database Local DB aperto da un .mdf file e visualizzare e modificare tabelle e righe di dati tramite Esplora server o SQL Server Esplora oggetti. La funzionalità di queste finestre si sovrappone in qualche misura. Le differenze di base sono:

  • Esplora server

    Installato per impostazione predefinita in Visual Studio. Può essere usato per testare le connessioni e visualizzare i database di SQL Server, qualsiasi altro database con un provider di ADO.NET installato e alcuni servizi di Azure. Mostra anche oggetti di basso livello, ad esempio contatori delle prestazioni di sistema, registri eventi e code di messaggi. Se un'origine dati non ha un provider di ADO.NET, non verrà visualizzata qui, ma è comunque possibile usarla da Visual Studio connettendosi a livello di codice.

  • Cloud Explorer

    Installare questa finestra manualmente come estensione di Visual Studio da Visual Studio Marketplace. Fornisce funzionalità specializzate per l'esplorazione e la connessione ai servizi di Azure.

  • Esplora oggetti di SQL Server

    Installato con SQL Server Data Tools e visibile nel menu Visualizza . Se non è presente, passare a Programmi e funzionalità in Pannello di controllo, trovare Visual Studio e quindi selezionare Cambia per rieseguire il programma di installazione dopo aver selezionato la casella di controllo per SQL Server Data Tools. Usare SQL Server Esplora oggetti per visualizzare i database SQL (se hanno un provider di ADO.NET), creare nuovi database, modificare schemi, creare stored procedure, recuperare stringa di connessione, visualizzare i dati e altro ancora. I database SQL che non dispongono di provider ADO.NET installati non verranno visualizzati qui, ma è comunque possibile connettersi a tali database a livello di codice.

È possibile aprire una connessione a un database o a un servizio oppure un database Local DB aperto da un .mdf file e visualizzare e modificare tabelle e righe di dati tramite Esplora server o SQL Server Esplora oggetti. La funzionalità di queste finestre si sovrappone in qualche misura. Le differenze di base sono:

  • Esplora server

    Installato per impostazione predefinita in Visual Studio. Può essere usato per testare le connessioni e visualizzare i database di SQL Server, qualsiasi altro database con un provider di ADO.NET installato e alcuni servizi di Azure. Mostra anche oggetti di basso livello, ad esempio contatori delle prestazioni di sistema, registri eventi e code di messaggi. Se un'origine dati non ha un provider di ADO.NET, non verrà visualizzata qui, ma è comunque possibile usarla da Visual Studio connettendosi a livello di codice.

  • Esplora oggetti di SQL Server

    Installato con SQL Server Data Tools e visibile nel menu Visualizza . Se non è presente, passare a Programmi e funzionalità in Pannello di controllo, trovare Visual Studio e quindi selezionare Cambia per rieseguire il programma di installazione dopo aver selezionato la casella di controllo per SQL Server Data Tools. Usare SQL Server Esplora oggetti per visualizzare i database SQL (se hanno un provider di ADO.NET), creare nuovi database, modificare schemi, creare stored procedure, recuperare stringa di connessione, visualizzare i dati e altro ancora. I database SQL che non dispongono di provider ADO.NET installati non verranno visualizzati qui, ma è comunque possibile connettersi a tali database a livello di codice.

Aggiungere una connessione in Esplora server

Per creare una connessione al database, fare clic sull'icona Connessione al database in Esplora server oppure fare clic con il pulsante destro del mouse sul nodo Esplora server nel nodo Connessione dati e selezionare Aggiungi Connessione ion. Da qui è possibile aprire una connessione a un database Local DB aperto da un .mdf file, connettersi a un database in un altro server, a un servizio SharePoint o a un servizio di Azure.

Screenshot che mostra l'icona Nuova Connessione ion di Esplora server.

Screenshot che mostra l'icona di Esplora server Connessione a Database.

Verrà visualizzata la finestra di dialogo Aggiungi Connessione ion. In questo caso è stato immesso il nome dell'istanza di SQL Server Local DB, (localdb)\MSSqlLocalDB, che viene in genere installato con Visual Studio.

Se non si ha accesso a un altro database e non viene visualizzato Local DB installato, è possibile installare Local DB tramite il Programma di installazione di Visual Studio, come parte del carico di lavoro Archiviazione ed elaborazione dati, ASP.NET e sviluppo Web o come singolo componente. Vedere Modificare Visual Studio.

Screenshot della finestra di dialogo Aggiungi nuovo Connessione ion.

Screenshot della finestra di dialogo Aggiungi nuovo Connessione ion.

In Visual Studio 2022 versione 17.8 e successive la finestra di dialogo include due nuove opzioni (Crittografa e certificato del server di attendibilità) che entrano nella stringa di connessione e influiscono sulle impostazioni di sicurezza usate per la connessione. Queste opzioni supportano le funzionalità di sicurezza più rigorose del driver di database Microsoft.Data.SqlClient 4.0. Vedere Modifiche al comportamento di crittografia e convalida del certificato.

La procedura di sicurezza consigliata consiste nell'usare la crittografia e installare un certificato nel server. Vedere Crittografia e convalida dei certificati. Per rifiutare esplicitamente questa sicurezza avanzata, impostare Crittografa su Facoltativo (False) .

Se non si imposta Crittografa su facoltativo con Visual Studio 17.8 o versione successiva, che usano la versione 4.0 di Microsoft.Data.SqlClient, per impostazione predefinita la crittografia è obbligatoria. Si tratta di una modifica che causa un'interruzione rispetto al comportamento nelle versioni precedenti. Se non si dispone di un certificato valido o non si sceglie Certificato server di attendibilità, viene visualizzato il messaggio di errore seguente:

La crittografia è stata abilitata in questa connessione, esaminare la configurazione del certificato e SSL per SQL Server di destinazione oppure abilitare "Certificato server attendibile" nella finestra di dialogo di connessione.

Altre informazioni

La connessione al server è stata stabilita con esito positivo, ma si è verificato un errore durante il processo di accesso. (provider: provider SSL, errore: 0 - La catena di certificati è stata emessa da un'autorità non attendibile). (Microsoft SQL Server)

Tipi di autenticazione

È possibile scegliere tra diversi tipi di autenticazione che coprono un'ampia gamma di scenari. Per informazioni dettagliate, vedere Tipi di autenticazione.

In Visual Studio 17.8 e versioni successive i nomi delle opzioni di autenticazione per le connessioni SQL sono stati aggiornati per riflettere la modifica del nome da Active Directory a Microsoft Entra.

Screenshot che mostra i tipi di autenticazione per Visual Studio 17.8 e versioni successive.

Aprire un file di database MDF

Il file è l'acronimo .mdf di Master Database File ed è un database SQL inserito in un file. Questi file hanno un associato .ldf (file di database di log) che contiene i log per tale database. È possibile creare nuovi database archiviati nei .mdf file aggiungendo un elemento database basato sul servizio al progetto. Vedere Creare un database e aggiungere tabelle.

Se il file è .mdf già presente nel progetto, è possibile fare doppio clic o fare clic con il pulsante destro del mouse e scegliere Apri per aprirlo in Esplora server.

Per aprire un .mdf file che non si trova nel progetto in Esplora server di Visual Studio, seguire questa procedura:

  1. Nella finestra di dialogo Aggiungi connessione scegliere File di database di Microsoft SQL Server (SqlClient) in Origine dati.

  2. Usare il pulsante Sfoglia per trovare e selezionare il file del database master (.mdf file) oppure immettere il percorso nella casella Nome file database .

    Screenshot che mostra la finestra di dialogo Aggiungi Connessione ion, connettendosi a un file database SQL.

  3. Scegliere il metodo di autenticazione.

  4. Testare la connessione e, in caso di esito positivo, scegliere OK. Viene aperto un nodo per il database in Esplora server.

Modificare il provider

Se l'origine dati non è quella desiderata, fare clic sul pulsante Cambia per scegliere una nuova origine dati o un nuovo provider di dati ADO.NET. Il nuovo provider potrebbe richiedere le credenziali, a seconda della modalità di configurazione.

Nota

Se si usa Visual Studio 2022 per connettersi a provider di dati OLEDB o ODBC, è necessario tenere presente che Visual Studio 2022 è ora un processo a 64 bit.

Ciò significa che alcuni degli strumenti di dati in Visual Studio non saranno in grado di connettersi ai database OLEDB o ODBC usando provider di dati a 32 bit. Sono inclusi il provider di dati OLEDB a 32 bit di Microsoft Access e altri provider a 32 bit di terze parti.

Se è necessario gestire applicazioni a 32 bit che si connettono a OLEDB o ODBC, sarà comunque possibile compilare ed eseguire l'applicazione con Visual Studio 2022. Tuttavia, se è necessario usare uno degli strumenti dati di Visual Studio, ad esempio Esplora server, Creazione guidata origine dati o Progettazione set di dati, sarà necessario usare una versione precedente di Visual Studio che è ancora un processo a 32 bit. L'ultima versione di Visual Studio che era un processo a 32 bit era Visual Studio 2019.

Se si prevede di convertire il progetto in un processo a 64 bit, sarà necessario aggiornare le connessioni dati OLEDB e ODBC per usare provider di dati a 64 bit.

Se l'applicazione usa database di Microsoft Access e può convertire il progetto a 64 bit, è consigliabile usare il motore di database di Microsoft Access a 64 bit, denominato anche Access Connessione ivity Engine (ACE). Per altre informazioni, vedere Provider OLE DB per Jet e ODBC Driver are 32-bit versions only for Jet and ODBC driver are 32-bit versions only for more information.

Se si usa un provider di dati di terze parti, è consigliabile connettersi al fornitore per verificare se offrono un provider a 64 bit prima di convertire il progetto in 64 bit.

Screenshot che mostra come modificare il provider di dati ADO.NET.

Screenshot che mostra come modificare il provider di dati ADO.NET.

Testare la connessione

Dopo aver scelto l'origine dati, fare clic su Test Connessione ion. In caso contrario, sarà necessario risolvere i problemi in base alla documentazione del fornitore.

Screenshot che mostra la finestra di messaggio Test Connessione ion completata.

Screenshot che mostra la finestra di messaggio Test Connessione ion completata.

Se il test ha esito positivo, è possibile creare un'origine dati, ovvero un termine di Visual Studio che significa realmente un modello di dati basato sul database o sul servizio sottostante.

Connettersi tramite Esplora oggetti di SQL Server

L'esperienza potrebbe risultare più semplice se si usa SQL Server Esplora oggetti, che offre una finestra di dialogo che consente di trovare i database disponibili in locale, nella rete locale e nelle sottoscrizioni di Azure e fornisce una cronologia delle scelte usate di recente.

Per accedere alla finestra di dialogo di connessione da SQL Server Esplora oggetti, fare clic sul pulsante della barra degli strumenti Aggiungi SQL Server.

Screenshot del pulsante Aggiungi SQL Server Esplora oggetti

Viene visualizzata la finestra di dialogo di connessione. Scegliere l'istanza locale, la rete o Azure SQL Server, selezionare un database, specificare le credenziali e scegliere Connessione.

Screenshot della finestra di dialogo Esplora oggetti Connessione di SQL Server.

Se è necessario impostare altre impostazioni nel stringa di connessione, è possibile usare il collegamento Avanzate, che visualizza tutte le impostazioni. Ad esempio, per connettersi a un database Local DB basato su un file MDF, scegliere Avanzate e quindi impostare la proprietà AttachDbFilename.

Screenshot che mostra le impostazioni avanzate.

Al termine della configurazione della connessione, il server e il database vengono visualizzati nella finestra di Esplora oggetti di SQL Server.

Screenshot che mostra Connessione messaggio completato.

Da qui è possibile esplorare il database, scrivere ed eseguire query, modificare dati, stored procedure e funzioni ed eseguire altre azioni direttamente in Visual Studio.

Passaggi successivi

Se si usa .NET Framework (non .NET Core o .NET 5 o versione successiva) e Windows Form o WPF, è possibile usare la finestra Origini dati, ad esempio, per configurare il data binding per i controlli nelle applicazioni Windows Form e WPF, vedere Aggiungere nuove origini dati. Questi strumenti sono progettati per consentire di creare rapidamente applicazioni Windows che devono consentire agli utenti di immettere, visualizzare e modificare i dati.

Se si usa .NET 5 o versione successiva, .NET Core o ASP.NET Core, è possibile connettere l'app al database usando i servizi Connessione ed. Usando i servizi Connessione ed, è possibile usare facilmente un database di sviluppo locale, ospitato da SQL Local DB, SQL Server in esecuzione in un contenitore o un'istanza locale di SQL Server e quindi passare a database SQL di Azure quando si è pronti per la distribuzione nel cloud. Per .NET 5 o versione successiva, .NET Core e ASP.NET Core, è consigliabile usare Entity Framework Core come framework di database.