Procedura dettagliata: creazione di un'applicazione connessa occasionalmente tramite la Configurazione guidata origine dati
Questa procedura dettagliata fornisce istruzioni dettagliate per lo sviluppo di un'applicazione connessa occasionalmente incorporando i servizi di sincronizzazione quando si esegue la Configurazione guidata origine dati.
Le applicazioni connesse occasionalmente sono applicazioni che possono non sempre avere accesso ai dati remoti. Per tale motivo, vengono utilizzati i dati da un database locale che risiede nel client e periodicamente viene eseguita la sincronizzazione dei dati tra il database remoto e il database locale mediante i Servizi di sincronizzazione Microsoft per ADO.NET (spazio dei nomi Microsoft.Synchronization.Data). Per creare una sincronizzazione iniziale è possibile aggiungere una cache del database locale a un'applicazione tramite la finestra di dialogo Aggiungi nuovo elemento o eseguire la Configurazione guidata origine dati. In questa procedura dettagliata verrà eseguita la seconda operazione.
In particolare, verranno illustrate le seguenti attività:
Creare una nuova applicazione Windows Form.
Eseguire la Configurazione guidata origine dati per creare e configurare un dataset tipizzato che consenta la memorizzazione nella cache del database locale.
Creare un Windows Form per visualizzare i dati e confermare la sincronizzazione.
Aggiungere il codice per avviare la sincronizzazione tra i database.
Aggiungere una finestra di messaggio per visualizzare le informazioni sul numero di record sincronizzati.
Prerequisiti
Per completare questa procedura dettagliata, è necessario quanto elencato di seguito:
Accesso alla versione SQL Server del database di esempio Northwind. Per ulteriori informazioni, vedere Procedura: installare database di esempio.
SQL Server Compact 3.5 installato nel computer con Visual Studio in esecuzione.
Creazione dell'applicazione Windows Form
Poiché per verificare che la sincronizzazione sia stata completata correttamente è necessario visualizzare i dati in un Windows Form, il primo passaggio di questa procedura dettagliata prevede la creazione di una nuova applicazione Windows Form.
Nota
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Per creare la nuova applicazione Windows Form
Scegliere il comando per la creazione di un nuovo progetto dal menu File.
Specificare OCSWalkthrough2 come nome del progetto.
Fare clic sul modello Applicazione Windows Form, quindi scegliere OK. Per ulteriori informazioni, vedere Creazione di applicazioni per Windows.
Il progetto OCSWalkthrough2 viene creato e aggiunto a Esplora soluzioni.
Creazione di un'origine dati che include una cache del database locale
Nella procedura dettagliata viene dimostrata l'incorporazione di servizi di sincronizzazione in un'applicazione mediante la Configurazione guidata origine dati. Il passaggio successivo consiste pertanto nell'avvio della procedura guidata. Questo passaggio consente di avviare la procedura guidata e creare un dataset basato sulle tabelle Customers del database di esempio Northwind. Nella scelta della tabella di database da aggiungere al dataset, selezionare l'opzione per l'abilitazione della memorizzazione nella cache di dati locale.
Per creare un'origine dati che include una cache del database locale
Scegliere Mostra origini dati dal menu Dati.
Nella finestra Origini dati, scegliere Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Nella pagina Seleziona un tipo di origine dati, lasciare selezionato il valore predefinito Database, quindi scegliere Avanti.
Nella pagina Seleziona connessione dati, effettuare una delle seguenti operazioni:
Selezionare la connessione dati alla versione SQL Server del database di esempio Northwind, se disponibile nell'elenco a discesa.
-oppure-
Fare clic su Nuova connessione per aprire la finestra di dialogo Scegli origine dati o Aggiungi/Modifica connessione e creare una nuova connessione alla versione SQL Server del database Northwind. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi/Modifica connessione (generale).
Se il database richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.
Scegliere Avanti nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare la tabella Customers.
Selezionare Abilita memorizzazione nella cache del database locale.
Fare clic su Avanti nella pagina Seleziona oggetti di database.
Selezionare la tabella Customers nella pagina Scegli tabelle da memorizzare nella cache.
Nota
Lasciare il valore predefinito Incrementale per la Modalità di sincronizzazione. La modalità Incrementale sincronizza unicamente le modifiche apportate sul server dall'ultima sincronizzazione. La modalità Snapshot sostituisce l'intera tabella memorizzata nella cache locale con la tabella corrente sul server. L'intera tabella viene dapprima caricata nella cache del database locale indipendentemente da questa selezione, in modo che sia sempre possibile partire da un set completo di dati aggiornati.
Scegliere Fine.
Se la modalità di sincronizzazione di una delle tabelle memorizzate nella cache locale è impostata su Modifiche nuove e incrementali dopo la prima sincronizzazione, è necessario aggiornare il database SQL Server e viene visualizzata la finestra di dialogo Genera script SQL. Per impostazione predefinita, entrambe le opzioni nella finestra di dialogo sono selezionate:
Aggiorna server per modifiche incrementali. Selezionare questa opzione per aggiornare automaticamente il server perché venga abilitata la sincronizzazione incrementale immediatamente dopo la chiusura della finestra di dialogo.
Salva script SQL nel progetto per uso successivo. Selezionare questa opzione per aggiungere al progetto gli script SQL generati in modo che possano essere eseguiti sul database SQL Server in un secondo momento. Inoltre, vengono generati e aggiunti al progetto script di annullamento.
Scegliere OK.
Abilitazione della sincronizzazione nell'applicazione
Una volta completati i passaggi precedenti per l'esecuzione della Configurazione guidata origine dati, la sincronizzazione dei dati è configurata. A questo punto, nell'applicazione sono disponibili i seguenti elementi:
Una versione locale del database Northwind (Northwind.sdf).
Un file delle impostazioni di sincronizzazione dei dati (NorthwindCache.sync).
Un dataset tipizzato (NorthwindDataSet.xsd) generato dalla Configurazione guidata origine dati. Contiene una tabella Customers popolata con i dati del database locale.
Viene eseguita una sincronizzazione iniziale e la tabella Customers nella cache del database locale viene sincronizzata con il server database. In altre parole, la tabella Customers nel database SQL Server Compact 3.5 locale (Northwind.sdf) viene popolata con i dati attualmente contenuti nella tabella Customers del database sul server.
Una cartella SQLScripts contenente gli script utilizzati per creare le colonne di rilevamento, la tabella degli elementi eliminati e i trigger necessari per tenere traccia delle modifiche sul server.
Una cartella SQLUndoScripts contenente gli script utilizzati per rimuovere le colonne di rilevamento, la tabella degli elementi eliminati e i trigger necessari aggiunti al server.
Nota
Gli script SQL vengono creati solo se è necessario apportare modifiche al server. Se nel server è già presente una tabella per gli elementi eliminati con le colonne di rilevamento, gli script non vengono creati.
Riferimenti alle seguenti DLL dei Servizi di sincronizzazione Microsoft per ADO.NET:
Microsoft.Synchronization.Data
Microsoft.Synchronization.Data.Server
Microsoft.Synchronization.Data.SqlServerCe
Aggiunta di funzionalità di sincronizzazione all'applicazione
Dopo avere configurato la sincronizzazione dei dati, è necessario aggiungere la funzionalità della sincronizzazione all'applicazione. In particolare, è necessario aggiungere il codice che avvia il processo di sincronizzazione. Verranno aggiunti al form i controlli necessari per visualizzare i dati e avviare il processo di sincronizzazione.
Verrà innanzitutto aggiunto un controllo DataGridView trascinando il nodo Customers dalla finestra Origini dati nel form. DataGridView consente di visualizzare la tabella Customers dalla cache del database locale (il database Northwind.sdf presente nel progetto) in modo che sia possibile verificare la sincronizzazione dei dati tra il database locale e il database remoto. Verrà inoltre aggiunto un pulsante per avviare il processo di sincronizzazione.
Per creare un form con associazione a dati per avviare e verificare la sincronizzazione dei dati
Trascinare il nodo Customers dalla finestra Origini dati in Form1.
Trascinare un controllo Button dalla Casella degli strumenti a Form1. Impostare le proprietà Name e Text rispettivamente su SynchronizeButton e Synchronize Now.
Fare doppio clic sul pulsante Sincronizza per creare un gestore eventi Clic sul pulsante e aprire il form nell'editor del codice.
Aggiungere il codice per avviare il processo di sincronizzazione e inserire di nuovo i dati nella tabella Customers del dataset. Il codice nel gestore eventi deve essere analogo al seguente:
Nota
La riga di codice in cui viene dichiarata la variabile syncStats è illustrata più avanti in questo documento.
Verifica dell'applicazione
Per eseguire il test dell'applicazione
Premere F5.
Con l'applicazione in esecuzione, utilizzare Esplora server/Esplora database, o un altro strumento di gestione di database, per connettersi al database del server remoto e modificare alcuni record.
In Esplora server/Esplora database individuare la tabella Customers sul server database remoto, non la connessione a Northwind.sdf.
Fare clic con il pulsante destro del mouse sulla tabella Customers e scegliere Mostra dati tabella.
Modificare uno o più record ed eseguire il commit della modifica. Spostarsi dalla riga modificata.
Tornare al form e fare clic su Sincronizza.
Verificare che le modifiche al database remoto siano sincronizzate con il database locale e visualizzate nel form.
Chiudere il form. Interrompere il debug.
Recupero delle informazioni da una sincronizzazione
Quando si chiama il metodo Synchronize, non viene semplicemente avviato il processo di sincronizzazione ma viene restituito anche un oggetto SyncStatistics dal quale è possibile accedere alle informazioni sulla sincronizzazione.
Per accedere alle statistiche della sincronizzazione
- Aprire Form1 nell'editor di codice e aggiungere alla fine del gestore eventi SynchronizeButton_Click, sotto il codice aggiunto nei passaggi precedenti, il codice seguente:
Verifica dell'applicazione
Per eseguire il test dell'applicazione
Premere F5.
Con l'applicazione in esecuzione, utilizzare Esplora server/Esplora database, o un altro strumento di gestione di database, per connettersi al database del server remoto e modificare alcuni record.
In Esplora server/Esplora database individuare la tabella Customers sul server database remoto, non la connessione a Northwind.sdf.
Fare clic con il pulsante destro del mouse sulla tabella Customers e scegliere Mostra dati tabella.
Modificare uno o più record ed eseguire il commit della modifica. Spostarsi dalla riga modificata.
Tornare al form e fare clic su Sincronizza.
Verrà visualizzata una finestra di messaggio contenente le informazioni sui record sincronizzati.
Verificare che le modifiche al database remoto siano sincronizzate con il database locale e visualizzate nel form.
Passaggi successivi
A seconda dei requisiti dell'applicazione, è possibile eseguire diverse operazioni dopo la configurazione di una cache database locale a un'applicazione. È possibile ad esempio apportare i seguenti miglioramenti a questa applicazione:
Implementare la sincronizzazione bidirezionale in modo che le modifiche apportate nella cache del database locale possano essere caricate nel server. Per ulteriori informazioni, vedere Procedura: configurare un database locale e remoto per la sincronizzazione bidirezionale.
Distribuire l'applicazione client con la cache del database locale. Per ulteriori informazioni, vedere Procedura dettagliata: distribuzione di un'applicazione client connessa occasionalmente con il database locale.
Vedere anche
Attività
Concetti
Cenni preliminari sulle applicazioni connesse occasionalmente