Condividi tramite


Cenni preliminari sui dati locali

Il termine dati locali si riferisce a una connessione tra l'applicazione e un file di database sul computer locale (in contrapposizione a una connessione a un database su un server remoto). I file di database locali attualmente supportati sono i file di database di SQL Server Compact 3.5 (con estensione sdf), quelli di SQL Server e SQL Server Express (con estensione mdf) e i file di database di Microsoft Access (con estensione mdb).

Nota

Il database locale preferito per le applicazioni client è SQL Server Compact 3.5. Per ulteriori informazioni, vedere SQL Server Compact 3.5 e Visual Studio.

Nota

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

Nella tabella riportata di seguito vengono forniti i collegamenti agli argomenti che descrivono come connettere l'applicazione ai dati locali:

Argomento

Descrizione

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

Vengono fornite istruzioni dettagliate per la creazione di un file di database locale che può essere utilizzato per verificare le funzionalità dei dati e la creazione di applicazioni.

Procedura dettagliata: creazione di un database SQL Server Express

Fornisce istruzioni dettagliate per la creazione di un file di database locale che può essere utilizzato per verificare la funzionalità dei dati e la compilazione di applicazioni.

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

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

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

Fornisce un esempio dettagliato di connessione a un database Microsoft Access.

Procedura: creare una connessione dati al database Northwind

Vengono fornite informazioni dettagliate per la connessione alle versioni di SQL Server, SQL Server Compact 3.5, SQL Server Express e Access del database di esempio Northwind.

Una volta creata un'origine dati configurata per accedere a un file di dati locale, è possibile operare con i dati utilizzando le stesse tecnologie e oggetti utilizzati quando si opera con dati provenienti di un'altra origine. Per ulteriori informazioni, vedere Creazione di applicazioni dati.

Il database è parte dell'applicazione

Utilizzando l'approccio dei dati locali, sarà possibile non solo connettersi a un file di database, ma anche integrarlo nell'applicazione in uso. Ad esempio, è possibile selezionare Aggiungi nuovo elemento dal menu Progetto, individuare un file con estensione sdf, mdf o mdb esistente e aggiungerlo al progetto.

Nota   Se si utilizza Configurazione guidata origine dati per creare l'origine dati per un file di dati locali, verrà richiesto se si desidera includere il file nel progetto. Se non si desidera includere il file nel progetto, nell'applicazione sarà contenuta soltanto la stringa di connessione puntata sul percorso a livello di codice e non il file di dati effettivo. Per ulteriori informazioni, vedere Procedura: gestire file di dati locali nel progetto.

L'aggiunta di un file di dati locali consente la creazione di un dataset tipizzato e di una stringa di connessione dinamica che punta al file di database dell'applicazione. Quando si aggiunge un file di un database al progetto, per selezionare gli oggetti da includere nel dataset viene utilizzata la Configurazione guidata origine dati.

Dopo aver completato la configurazione guidata, il file di database e il dataset vengono visualizzati in Esplora soluzioni/Esplora database e gli oggetti di database selezionati sono disponibili nella finestra Origini dati. È possibile trascinare gli elementi dalla finestra Origini dati al form per creare controlli associati ai dati sottostanti. Scegliere Mostra origini dati dal menu Dati per visualizzare la finestra Origini dati. Per ulteriori informazioni, vedere Associazione di controlli ai dati in Visual Studio.

In ciascun progetto sono presenti due copie del database

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

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 contenuto nella cartella di progetto è il più recente, viene copiato nella cartella bin e sostituisce il file corrente. Se il file più recente è quello contenuto nella cartella bin non verrà copiato alcun file.

Nota di avvisoAttenzione
Questa opzione non è consigliata per i file mdb o mdf. Il file di database può essere modificato anche quando non si effettua 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. Dal momento che nell'applicazione si crea una stringa di connessione dinamica che punta al file di database nella directory di output, sarà possibile eseguire questa impostazione per i file di database locali soltanto quando si effettua una copia del file manualmente. È necessario copiare manualmente il file nella directory di output una volta impostata l'opzione Non copiare.

Problemi comuni dei dati locali

Nella tabella riportata di seguito sono fornite spiegazioni per i problemi comuni verificatisi in fase di 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.

La proprietà Copia nella directory di output è impostata su Copia se più recente oppure su Copia sempre. Mediante queste impostazioni il database della cartella di output verrà sovrascritto (il database è stato modificato durante il test dell'applicazione) tutte le volte che si compila un progetto. Per ulteriori informazioni, vedere Procedura: gestire file di dati locali nel progetto.

Si riceve un messaggio che indica che 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 mdf): in SQL Express il file di dati viene bloccato se si tenta di copiare, spostare o rinominare il file di dati all'esterno dell'IDE di Visual Studio.

Accesso negato se il tentativo di accesso al database viene effettuato da due utenti contemporaneamente.

Visual Studio sfrutta la capacità di istanze utente, una funzionalità di SQL Server Express in cui viene creata un'istanza separata di un server SQL per ogni utente. Dal momento in cui un utente accede al file, nessun utente successivo sarà in grado di effettuare la connessione. Tale situazione può verificarsi se, ad esempio, si effettua il tentativo di eseguire un'applicazione Web in ASP.NET Development Server e IIS contemporaneamente, dal momento che IIS in genere viene eseguito con un diverso account.

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: aggiungere un database di SQL Server Compact 3.5 a un progetto

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

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

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