Condividi tramite


Procedura: configurare la sincronizzazione dei dati in modo da utilizzare il rilevamento delle modifiche di SQL Server

Aggiornamento: Luglio 2008

In Visual Studio 2008 SP1 è stato aggiunto il supporto per la funzionalità di rilevamento delle modifiche di SQL Server 2008. La possibilità di attivare il rilevamento delle modifiche di SQL Server durante la configurazione dei servizi di sincronizzazione è stata aggiunta alla finestra di dialogo Configura sincronizzazione dati in aggiunta alla Configurazione guidata origine dati.

Nota:

L'opzione di attivazione del rilevamento delle modifiche di SQL Server diviene disponibile solo quando la connessione al server database remoto viene configurata per la connessione a un database SQL Server 2008.

Attivazione del rilevamento delle modifiche di SQL Server mediante la finestra di dialogo Configura sincronizzazione dati

Nelle procedure riportate di seguito sono indicati i passaggi necessari per configurare la sincronizzazione dei dati e attivare il rilevamento delle modifiche di SQL Server quando si configurano i servizi di sincronizzazione mediante la finestra di dialogo Configura sincronizzazione dati. Per un esempio in cui si utilizzano dati reali e la sincronizzazione viene configurata mediante la finestra di dialogo Configura sincronizzazione dati, vedere Procedura dettagliata: creazione di un'applicazione connessa occasionalmente.

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 configurare la sincronizzazione dei dati mediante la finestra di dialogo Configura sincronizzazione dati

  1. Scegliere Aggiungi nuovo elemento dal menu Progetto.

  2. Fare clic sul modello Cache database locale.

  3. Specificare un nome alternativo o mantenere il nome predefinito LocalDataCache1.sync.

  4. Scegliere Aggiungi.

    Un file sync viene aggiunto al progetto e viene visualizzata la finestra di dialogo Configura sincronizzazione dati.

  5. Impostare la Connessione server sul database SQL Server 2008 remoto al quale ci si vuole connettere.

  6. Impostare la Connessione client sul database SQL Server Compact 3.5 locale utilizzato per archiviare i dati localmente. Se non si dispone di un database locale, è possibile lasciare l'impostazione predefinita NomeDatabase.sdf (nuovo) per creare un nuovo database nel progetto. Il nome del nuovo database si basa sul nome del database presente nel server.

    Nota:

    Per impostazione predefinita, il pulsante OK è disattivato e viene attivato solo dopo l'aggiunta di una tabella all'area Tabelle nella cache.

  7. Selezionare Usa il rilevamento modifiche di SQL Server. Per impostazione predefinita, questa opzione viene selezionata quando la Connessione server è impostata su un database SQL Server 2008.

  8. Fare clic su Aggiungi per aprire la finestra di dialogo Configura tabelle per uso non in linea.

  9. Selezionare le tabelle da aggiungere alla cache del database locale e configurare la modalità di sincronizzazione (i dati da scaricare durante la sincronizzazione):

    Dati da scaricare:

    • Modifiche nuove e incrementali dopo la prima sincronizzazione

      Questa impostazione recupera i record del server modificati dopo l'ultima sincronizzazione dei dati. Alla prima sincronizzazione, viene scaricata l'intera tabella.

    • Intera tabella ogni volta

      Tale impostazione consente di sostituire la tabella locale con la versione attualmente sul server.

      Nota:

      Impostare la modalità di sincronizzazione per ciascuna tabella da configurare per l'utilizzo non in linea. Le scelte aggiuntive disattivate sono disponibili solo quando il rilevamento delle modifiche di SQL Server non è attivato.

  10. Scegliere OK.

  11. Fare clic su Mostra esempio di codice per aprire la finestra di dialogo Esempio di codice in cui viene fornito un esempio di codice che consente di avviare il processo di sincronizzazione. È possibile copiare tale codice negli Appunti e quindi incollarlo nel programma.

  12. Facoltativamente, impostare le opzioni Avanzate.

    Le opzioni Avanzate della finestra di dialogo Configura sincronizzazione dati consentono di definire se sincronizzare le tabelle separatamente o in un'unica transazione. Inoltre, consentono la separazione del codice per le applicazioni a più livelli.

    • Sincronizza tabelle in una sola transazione. Per impostazione predefinita, tale opzione non è selezionata e tutte le tabelle vengono sincronizzate singolarmente. In caso di errore, viene eseguito il rollback delle modifiche solo per le tabelle con errori. Selezionando questa opzione, tutte le tabelle vengono sincronizzate in un'unica transazione. Se si verificano errori, viene eseguito il rollback di tutte le modifiche per tutte le tabelle.

    • Crea componenti sincronizzazione Per impostazione predefinita, i componenti di sincronizzazione vengono generati sia per il client che per il server. È possibile impostare questa opzione su Solo client o Solo server per soddisfare i requisiti dell'applicazione.

    • Percorso progetto server. Per impostazione predefinita, i componenti di sincronizzazione per il server vengono generati nel progetto corrente. Impostare questa opzione per generare i componenti di sincronizzazione per il server in un progetto Visual Basic o Visual C# nella soluzione.

    • Percorso progetto client. Per impostazione predefinita, i componenti di sincronizzazione per il client vengono generati nel progetto corrente. Impostare questa opzione per generare i componenti di sincronizzazione per il client in un progetto Visual Basic o Visual C# nella soluzione.

  13. Scegliere OK.

  14. 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 attivata 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.

  15. Scegliere OK.

    Nota:

    Il rilevamento delle modifiche di SQL Server verrà attivato unicamente dopo l'aggiornamento del server per l'attivazione del rilevamento delle modifiche.

    Dopo avere fatto clic su OK, viene visualizzata la Configurazione guidata origine dati alla pagina Seleziona oggetti di database. La Configurazione guidata origine dati viene avviata automaticamente ogni volta che un file di database locale viene aggiunto a un progetto.

  16. Selezionare le tabelle da aggiungere al dataset tipizzato.

  17. Scegliere Fine.

Una volta configurata la sincronizzazione dei dati mediante la finestra di dialogo Configura sincronizzazione dati, aggiungere il codice all'applicazione per avviare la sincronizzazione.

Nota:

Nella sincronizzazione dei dati, viene aggiornato il database locale anziché la tabella del dataset o un altro oggetto dell'applicazione. Ricordare di ricaricare l'origine dati dell'applicazione con i dati aggiornati dal database locale. Ad esempio, chiamare il metodo TableAdapter.Fill per caricare la tabella dati del dataset con i dati aggiornati dal database locale.

Per aggiungere il codice per avviare la sincronizzazione

  • Se è stato copiato il codice dalla finestra di dialogo Esempio di codice nella sezione precedente, ora è possibile incollarlo nell'applicazione. Altrimenti, inserire nell'applicazione il codice riportato di seguito nel punto in cui si desidera avviare il processo di sincronizzazione:

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

Attivazione del rilevamento delle modifiche di SQL Server mediante la Configurazione guidata origine dati

Nelle procedure riportate di seguito sono indicati i passaggi necessari per configurare la sincronizzazione dei dati e attivare il rilevamento delle modifiche di SQL Server quando si configura un dataset tipizzato mediante la Configurazione guidata origine dati.

Per un esempio in cui si utilizzano dati reali e viene illustrato come configurare una sincronizzazione durante la creazione di un dataset tipizzato mediante la Configurazione guidata origine dati, vedere Procedura dettagliata: creazione di un'applicazione connessa occasionalmente tramite la Configurazione guidata origine dati.

Per configurare la sincronizzazione dati per l'uso del rilevamento delle modifiche di SQL Server mediante la Configurazione guidata origine dati

  1. Scegliere Mostra origini dati dal menu Dati.

  2. Nella finestra Origini dati scegliere Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.

  3. Nella pagina Seleziona un tipo di origine dati, lasciare selezionato il valore predefinito di Database, quindi fare clic su Avanti.

  4. Nella pagina Seleziona connessione dati, effettuare una delle seguenti operazioni:

    • Selezionare nell'elenco a discesa una connessione dati alla versione SQL Server 2008 del database desiderato, se disponibile.

      -oppure-

    • Selezionare Nuova connessione per aprire la finestra di dialogo Scegli origine dati o Aggiungi/Modifica connessione e creare una nuova connessione a un database SQL Server 2008. Per ulteriori informazioni, vedere la classe Finestra di dialogo Aggiungi/Modifica connessione (generale).

  5. Se il database richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.

  6. Scegliere Avanti nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione.

  7. Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.

  8. Selezionare le tabelle da aggiungere alla cache del database locale.

  9. Selezionare Attiva memorizzazione nella cache del database locale.

  10. Fare clic su Avanti nella pagina Seleziona oggetti di database.

  11. Nella pagina Scegli tabelle da memorizzare nella cache, selezionare le tabelle desiderate.

  12. Impostare la Modalità di sincronizzazione.

    • Modifiche nuove e incrementali dopo la prima sincronizzazione

      Questa impostazione recupera i record del server modificati dopo l'ultima sincronizzazione dei dati. Alla prima sincronizzazione, viene scaricata l'intera tabella.

    • Intera tabella ogni volta

      Tale impostazione consente di sostituire la tabella locale con la versione attualmente sul server.

  13. Selezionare Usa il rilevamento modifiche di SQL Server. Per impostazione predefinita, questa opzione viene selezionata quando la Connessione server è impostata su un database SQL Server 2008.

  14. Scegliere Fine.

  15. 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 attivata 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.

  16. Scegliere OK.

    Nota:

    Il rilevamento delle modifiche di SQL Server verrà attivato unicamente dopo l'aggiornamento del server per l'attivazione del rilevamento delle modifiche.

Al termine della Configurazione guidata origine dati, aggiungere il codice all'applicazione per avviare la sincronizzazione.

Nota:

Nella sincronizzazione dei dati, viene aggiornato il database locale anziché la tabella del dataset o un altro oggetto dell'applicazione. Ricordare di ricaricare l'origine dati dell'applicazione con i dati aggiornati dal database locale. Ad esempio, chiamare il metodo TableAdapter.Fill per caricare la tabella dati del dataset con i dati aggiornati dal database locale.

Per aggiungere il codice per avviare la sincronizzazione

  • Inserire nell'applicazione il codice riportato di seguito nel punto in cui si desidera avviare il processo di sincronizzazione:

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

Vedere anche

Attività

Procedura dettagliata: creazione di un'applicazione connessa occasionalmente

Procedura dettagliata: distribuzione di un'applicazione client connessa occasionalmente con il database locale

Esempio di dati connessi occasionalmente

Concetti

Cenni preliminari sulle applicazioni connesse occasionalmente

Altre risorse

Applicazioni connesse occasionalmente

Cronologia delle modifiche

Data

Cronologia

Motivo

Luglio 2008

Aggiunto argomento.

Modifica di funzionalità in SP1.