Cenni preliminari sui dati locali

Quando si utilizzano i dati locali, per connettere l'applicazione a un file di database nel computer locale, anziché a un database in un server separato.Ad esempio, è possibile connettere un'applicazione sviluppata in Visual Studio i seguenti file di database locali:

  • File di database di SQL Server Compact (sdf)

  • File di database di SQL Server Express LocalDB (mdf)

  • File di database SQL Server Express (con estensione mdf)

  • File di database di Microsoft Access (mdb)

Nella tabella seguente vengono forniti collegamenti ad argomenti che descrivono come connettere l'applicazione ai dati locali:

Argomento

Descrizione

Procedura dettagliata: creazione di un database di SQL Server Compact

Vengono fornite istruzioni dettagliate per la creazione di un file di database locale che è possibile utilizzare le funzionalità dei dati e sviluppare applicazioni.

Procedura dettagliata: creazione di un database LocalDB

Vengono fornite istruzioni dettagliate per la creazione di un file di database locale che è possibile utilizzare le funzionalità dei dati e sviluppare applicazioni.

Procedura dettagliata: connessione ai dati di un database SQL Server Express LocalDB (Windows Form)

Vengono fornite istruzioni dettagliate per la connessione a SQL Server Express LocalDB un database durante la creazione di una semplice applicazione Windows.

Procedura dettagliata: connessione ai dati in un database di Access (Windows Form)

Vengono fornite istruzioni dettagliate per la connessione a un database Microsoft Access.

Procedura dettagliata: connettersi al database Northwind

Vengono fornite istruzioni per la connessione al database di esempio Northwind in SQL Server, SQL Server Compact, SQL Server Express e Access.

Una volta creata un'origine dati e configurarlo per accedere a un file di dati locale, si utilizzano i dati utilizzando le stesse tecnologie e oggetti da utilizzare per lavorare con i dati da qualsiasi altra origine.Per ulteriori informazioni, vedere Creazione di applicazioni dati.

Integrazione del database nell'applicazione

Se la connessione ai dati locali, non solo è possibile connettersi a un file di database ma anche integrarlo nell'applicazione.Ad esempio, è possibile aprire il menu Progetto, individuare un file esistente, sdf, mdf o mdb e quindi aggiungerlo al progetto.

Se si aggiungono file di dati locali, si crea un dataset tipizzato e una stringa di connessione dinamica che punta al file di database nell'applicazione.Quando si aggiunge un file di database al progetto, utilizzare Configurazione guidata origine dati per specificare gli oggetti da includere.

[!NOTA]

È possibile configurare automaticamente la connessione e avviare Configurazione guidata origine dati trascinando un file con estensione sdf, mdf, o mdb da Esplora file in Esplora soluzioni.È possibile specificare gli oggetti da utilizzare nell'applicazione.

Se si utilizza Configurazione guidata origine dati per creare l'origine dati per un file di dati locale, è necessario includere il file nel progetto.Se non lo si importano, l'applicazione conterrà solo la stringa di connessione cui il percorso hardcoded indica, non il file di dati.Per ulteriori informazioni, vedere Procedura: gestire file di dati locali nel progetto.

Dopo avere completato la procedura guidata, il file di database e il dataset vengono visualizzati in Esplora soluzioni/Esplora databasee gli oggetti di database specificati vengono visualizzati nella finestra Origini dati.Trascinando gli elementi dalla finestra Origini dati nel form, è possibile creare controlli associati ai dati sottostanti.Per aprire la finestra Origini dati, aprire il menu data quindi scegliere Mostra origini dati.Per ulteriori informazioni, vedere Associazione di controlli ai dati in Visual Studio.

Utilizzando un file di database in Visual Studio 2012

Prima di poter utilizzare un file di database esistente (mdf) in Visual Studio 2012, è necessario convertire il file in un file di database SQL Server 2012.Quando ci si connette a un file di database esistente, una finestra di messaggio viene chiesto se si desidera aggiornare.

Nota importanteImportante

Se si aggiorna il file di database (mdf), non è possibile aprirlo in una versione precedente di SQL Server.

Non è necessario convertire il file di database (mdf) se Nome dell'istanza di SQL Server è impostato su SQLEXPRESS e SQL Server 2008 Express è installato.SQL Server 2008 Express è installato se in Visual Studio 2010 è installato.Per modificare il nome di istanza per questo file, Visual Studio 2012aprire, aprire la finestra di dialogo Aggiungi connessione, specifica . \ SQLEXPRESS come nome del server e specificare il database o il nome file di database.

SQL Server Express LocalDB e SQL Server Express

È possibile aggiungere un file di database basato su servizi (mdf) a qualsiasi progetto in Visual Studio.È possibile utilizzare le finestre di progettazione di Visual Studio per la progettazione tabelle e altri oggetti di database ed è possibile eseguire query.

Quando si crea un database basato su servizi in Visual Studio 2012, utilizza il motore di SQL Server Express LocalDB per accedere al file di database (mdf), dove le versioni precedenti di Visual Studio viene utilizzato il motore di SQL Server Express.

SQL Server Express LocalDB è una versione leggera di SQL Server programmabili in molte delle stesse modalità come database SQL Server.SQL Server Express LocalDB viene eseguito in modalità utente ed è possibile installare più rapidamente con meno prerequisiti e alcuna configurazione.

[!NOTA]

Per ulteriori informazioni su SQL Server Express LocalDB, vedere Introdurre LocalDB, SQL Express migliore e LocalDB: Dove è il database personali? sul sito Web Microsoft.

In Visual Studio 2012, è possibile utilizzare SQL Server Express per impostazione predefinita in SQL Server Express LocalDB.Sulla barra dei menu, scegliere Strumenti, Opzioni.Nel nodo Strumenti di database, scegliere Connessioni dati.Nella casella di testo Nome dell'istanza di SQL Server, immettere SQLEXPRESS.In alternativa, è possibile fornire altri valori per il nome dell'istanza di SQL Server (ad esempio, SQL2008).

Nella tabella seguente vengono descritte le differenze tra i motori di SQL Server Express LocalDB e SQL Server Express.

SQL Server Express LocalDB

SQL Server Express

Tipo di database quando si crea un database basato su servizi

In Visual Studio 2012, SQL Server Express LocalDB

In Visual Studio 2010 e versioni precedenti, SQL Server Express

Nome dell'istanza di SQL Server in strumenti e opzioni

) \ V11.0 (LocalDB

SQLEXPRESS

Valore dell'origine dati nella stringa di connessione

) \ V11.0 (LocalDB

.\ SQLEXPRESS

Valore di AttachDbFilename nella stringa di connessione

percorso file

percorso file

L'istanza dell'utente è richiesta (“utente Instance=True" nella stringa di connessione)

No

Estensione del file di database

MDF

MDF

Differenze tra SQL Server Express LocalDB e SQL Server Compact

I database di SQL Server Express LocalDB (mdf) e SQL Server Compact (sdf) differiscono nei modi seguenti:

  • SQL Server Express LocalDB è compatibile con le edizioni basate su servizi di SQL Server per le funzionalità di SQL Server Express LocalDB attiva.In SQL Server, è possibile spostare qualsiasi database o il codice Transact-SQL SQL Server Express LocalDB a SQL Server o SQL Azure senza alcuna passaggi di aggiornamento.Pertanto, è possibile utilizzare SQL Server Express LocalDB per sviluppare applicazioni destinate a tutte le versioni di SQL Server.

  • Se si utilizza SQL Server Express LocalDB, è possibile creare stored procedure, funzioni definite dall'utente e tipi aggregati, spaziali e altri oggetti che SQL Server Compact non supporta, nonché integrare l'applicazione con .NET Framework.

  • SQL Server Express LocalDB è più efficiente e scalabile di SQL Server Compact in quanto SQL Server Express LocalDB supporta la stessa utilità di ottimizzazione e Query Processor di query come i problemi più elevate di SQL Server in.

I database di SQL Server Compact possono essere distribuiti su computer desktop e Smart Device.Per ulteriori informazioni, vedere SQL Server Compact 4.0 e Visual Studio.

Ogni progetto contiene due copie del database

Quando si compila un progetto, il file di database potrebbe essere copiato dalla cartella radice del progetto nell'output, bin, cartella.Questo comportamento dipende dalla proprietà Copia nella directory di output del file e il valore predefinito di questa proprietà dipende dal tipo di file di database in uso.

Per visualizzare la cartella bin in Esplora soluzioni, scegliere il pulsante Mostra tutti i file sulla barra degli strumenti.

[!NOTA]

La proprietà Copia nella directory di output non si applica al web o ai progetti C++.

Il file di database nella cartella radice del progetto viene modificato solo in caso di modifica dello schema o dei dati del database tramite Esplora server/Esplora database o Visual Database Tools.

Come si modificare i dati durante lo sviluppo di applicazioni, si stanno modificando il database nella cartella bin.Ad esempio, quando si sceglie il tasto F5 per eseguire il debug dell'applicazione, si verrà connessi al database in tale cartella.

Valore della proprietà Copia nella directory di output

Comportamento

Copia se più recente (valore predefinito per i file sdf)

Il file di database viene copiato la prima volta dalla directory del progetto alla directory bin che si compila il progetto.La proprietà Data ultima modifica dei file viene confrontata ogni volta che si compila il progetto ancora.Se il file nella cartella del progetto è più recente, ha copiato a bin la cartella, sostituendo il file precedente.In caso contrario, tale file non viene copiato.

Nota di avvisoAttenzione
Non si consiglia questo valore per i file mdb o mdf.Il file di database può cambiare anche se i dati non vengono modificati.Il file può essere contrassegnato come più recente se è sufficiente aprire una connessione (ad esempio, espandere il nodo Tabelle in Esplora server).

Copia sempre (valore predefinito per i file mdf e mdb)

Il file di database viene copiato ogni volta dalla directory del progetto alla directory bin di sviluppare l'applicazione.Tutte le modifiche apportate al file di dati nella cartella di output verranno sovrascritte la volta successiva che si esegue l'applicazione.

Non copiare

Il sistema non sovrascriva mai il file nella directory bin.L'applicazione crea una stringa di connessione dinamica che punta al file di database nella directory di output.Pertanto, è necessario copiare manualmente il file nella directory di output se si desidera che i dati nella directory di output per confrontare i dati nella directory del progetto.

Problemi comuni con i dati locali

Nella tabella seguente vengono descritti i problemi comuni che possono verificarsi durante l'utilizzo dei file di dati locali.

Problema

Descrizione

Ogni volta che viene eseguito il test dell'applicazione e vengono modificati i dati, le modifiche vengono perse quando si esegue nuovamente l'applicazione.

Il valore della proprietà Copia nella directory di output è Copia se più recente o Copia sempre.Il database nella cartella di output (il database che modifica quando si esegue l'applicazione) viene sovrascritta ogni volta che si compila il progetto.Per ulteriori informazioni, vedere Procedura: gestire file di dati locali nel progetto.

Viene visualizzato un messaggio, ad esempio il file di dati è bloccato.

Access (file mdb): Verificare che il file non sia aperto in un altro programma, ad esempio Access.

SQL Server Express (file con estensione mdf): SQL Express blocca il file di dati se si tenta di copiare, spostare, rinominare o fuori dall'IDE di Visual Studio.

Accesso negato quando più di un utente tenta di accedere allo stesso database.

Visual Studio utilizza le istanze utente, una funzionalità di SQL Server Express che crea un'istanza separata di SQL Server per ciascun utente.Dopo che un utente accede al file, alcuni utenti successivi non possono connettersi.Questo problema può verificarsi se, ad esempio, si tenta di eseguire un'applicazione web nel server di sviluppo ASP.NET e in Internet Information Services (IIS) contemporaneamente, perché IIS in genere viene eseguito con un account diverso.

Vedere anche

Attività

Procedura dettagliata: connessione ai dati di un database SQL Server Express LocalDB (Windows Form)

Procedura dettagliata: connessione ai dati in un database di Access (Windows Form)

Procedura: aggiungere un database di SQL Server Compact a un progetto

Procedura: distribuire un database di SQL Server Compact 4.0 con un'applicazione

Procedura dettagliata: creazione di un database di SQL Server Compact

Procedura dettagliata: aggiunta e distribuzione di un database di SQL Server Compact in un'applicazione