Procedura: gestire file di dati locali nel progetto

È possibile includere in un progetto un file di database locale come file. Alla prima connessione dell'applicazione a un file di database locale, si può scegliere di creare una copia del database nel progetto o di eseguire la connessione al file di database esistente nella posizione corrente. Se si decide di connettersi al file esistente, verrà creata una connessione, come se ci stesse connettendo a un database remoto, e il file di database verrà lasciato nella posizione originale. Se invece si sceglie di copiare il database nel progetto, in Visual Studio viene creata una copia del file di database, che viene aggiunta al progetto. Ne viene quindi modificata la connessione in modo che punti al database nel progetto anziché al percorso originale del file di database.

Nota

Le connessioni dati esistenti in Esplora server/Esplora database vengono modificate in modo che puntino anch'esse al file di database nel progetto, ovvero al file di database nella cartella radice del progetto.

Quando si compila un progetto, il file di database potrebbe essere copiato dalla cartella del progetto radice nella cartella di output (bin). Selezionare Mostra tutti i file in Esplora soluzioni per visualizzare la cartella bin. Questo comportamento dipende dalla proprietà di Copia nella directory di output del file. L'impostazione predefinita della proprietà Copia nella directory di output dipende dal tipo di file di database in uso.

Nota

Il comportamento della proprietà Copia nella directory di output non riguarda i progetti Web o i 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.

Il comportamento del file di database dipende dall'impostazione della proprietà Copia nella directory di output, descritta in dettaglio nella tabella riportata di seguito.

Durante lo sviluppo dell'applicazione, eventuali modifiche apportate ai dati (durante la fase di esecuzione all'interno dell'applicazione) vengono estese al database nella cartella bin. Se, ad esempio, si preme il tasto F5 per eseguire il debug dell'applicazione, si verrà connessi al database nella cartella bin.

Impostazione Copia nella directory di output

Comportamento

Copia se più recente (impostazione predefinita per i file sdf)

Il file di database viene copiato dalla directory del progetto alla directory bin alla prima compilazione del progetto. A ogni successiva compilazione del progetto, la proprietà di Data ultima modifica dei file viene confrontata. Se il file nella cartella del progetto è più recente, verrà copiato nella cartella bin e sostituirà il file attualmente al suo interno. Se invece è più recente il file nella cartella bin, non verrà effettuata alcuna copia. Con questa impostazione vengono mantenute eventuali modifiche apportate ai dati durante la fase di esecuzione. Pertanto, ogni volta che si esegue l'applicazione e si salvano le modifiche ai dati, queste saranno visibili alla successiva esecuzione dell'applicazione.

Nota di avvisoAttenzione
Questa opzione non è consigliata per i file mdb o mdf.Il file di database può essere modificato anche se non viene apportata alcuna modifica ai dati.È sufficiente aprire una connessione, ad esempio espandendo il nodo Tabelle in Esplora server, su un file di dati per contrassegnarlo come più recente.A causa di tale comportamento imprevedibile, si consiglia di non utilizzare questa opzione per i file mdb o mdf.

Copiare sempre (impostazione predefinita per i file mdf e mdb)

Il file di database viene copiato dalla directory del progetto alla directory bin a ogni compilazione dell'applicazione. Ogni volta che viene compilata l'applicazione e che vengono salvate le modifiche apportate ai dati, tali modifiche vengono sovrascritte quando il file originale viene copiato nella directory bin e viene così sostituita la copia che è stata appena modificata. Non è possibile vedere i dati aggiornati alla successiva esecuzione dell'applicazione. Tutte le modifiche apportate al file di dati nella cartella di output verranno sovrascritte durante la successiva esecuzione dell'applicazione.

Non copiare

Il file non viene mai copiato né sovrascritto dal sistema di progetto. Poiché nell'applicazione viene creata una stringa di connessione dinamica che punta al file di database nella directory di output, questa impostazione funziona solo con i file di database locali se viene eseguita una copia manuale del file. È necessario copiare manualmente il file nella directory di output una volta impostata l'opzione Non copiare.

Procedura

Per rispondere alle richieste nella finestra di dialogo del file di database locale

  • Scegliere se si desidera che in Visual Studio venga copiato il file di database all'interno del progetto e che venga modificata la connessione, in modo che punti alla copia nel progetto. Per ulteriori informazioni sull'utilizzo dei file di database nel progetto, vedere Cenni preliminari sui dati locali.

  • Scegliere No se non si desidera che in Visual Studio il file di database venga copiato all'interno del progetto. I punti di connessione al file nel percorso originale e il file di database non vengono aggiunti come un file al progetto.

Vedere anche

Attività

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

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

Procedura dettagliata: creazione di un database di SQL Server Compact 3.5

Altre risorse

Utilizzo di SQL Server Compact 3.5 (Visual Studio)