Partilhar via


Como: Configurar sincronização de dados em um aplicativo

If your application requires data from a remote database that does not have to be continuously retrieved from the database (or that is not always available), you can use a local database to store the data on the client computer with your application.You can then set up your application to synchronize data between the local and remote databases by using the Configure Data Synchronization dialog box to configure Microsoft Synchronization Services for ADO.NET.

Iniciando no Visual Studio 2008 SP1, bem como a Configurar sincronização de dados caixa de diálogo, você também pode usar o Assistente para configuração da fonte de dados para configurar a sincronização.Durante a configuração de um dataset tipado, selecionar a opção para Habilitar o cache do banco de dados local on the escolher seus objetos de banco de dados página do assistente.Para obter mais informações, consulte Demonstra Passo a passo: Criando um aplicativo conectado ocasionalmente usando dados fonte configuração assistente.

Observação: Em projetos de dispositivo SMART, o designer de sincronização não pode ser iniciado a partir de Assistente para configuração da fonte de dados.Para obter mais informações, consulte Aplicativos conectados ocasionalmente (dispositivos)Adição .na, suporte para o SQL servidor 2008 alterar recurso de rastreamento foi adicionado para o Visual Studio 2008 SP1. Você pode habilitar o acompanhamento de alterações de SQL servidor 2008 quando você configurar a sincronização a partir de Configurar sincronização de dados caixa de diálogo ou oAssistente para configuração da fonte de dados.Para obter mais informações, consulte Como: Configurar sincronização de dados para usar o SQL servidor alterar acompanhamento.

For example, consider an inventory application that uses data from several tables in a database.The number of items in stock for any individual part is an important piece of data that continually changes, so the application should always reflect the current values in the database.However, the application also displays a list of valid shipping companies that rarely changes.These valid shipping companies are stored in the Shippers table and do not have to be retrieved every time data is queried from the database.If you store this Shippers table in a local database cache, you can decrease the number of unnecessary roundtrips your application has to make to the remote database.Consider storing data that changes infrequently (or that changes on a known schedule) in a local database cache.

The local database cache uses a SQL Server Compact 3.5 database to store data locally.You can use an existing SQL Server Compact 3.5 database as the local database cache.If you do not yet have a local database, you can set the Configure Data Synchronization dialog box to create a new local database.

After you add a local database to your application and complete the Configure Data Synchronization dialog box, you still have to add code to your application to initiate the synchronization.After you successfully synchronize the data, you must also add code to refill the table in the dataset from the local database.

Observação:

O Configurar sincronização de dados caixa de diálogo oferece a capacidade de configurar Microsoft Synchronization Services for ADO.NET para cenários de baixar apenas. This means that after you configure data synchronization by using the Configure Data Synchronization dialog box, calling Microsoft.Synchronization.Data.SyncAgent.Synchronize will only update the local database with changes found on the remote database.Changes made to the data on the local database will not be uploaded to the remote database.After you configure data synchronization by using the Configure Data Synchronization dialog box, you can programmatically enable uploads (bi-directional synchronization) during synchronization.Para obter mais informações, consulte o Como: Configurar um local e remota banco de dados para sincronização bidirecional.

Adding a Local Database Cache to a Project

You can configure applications to cache data locally by adding a .sync file to your project and configuring it by using the Configure Data Synchronization dialog box.You can add .sync files to projects by using the Adicionar Novo Item Caixa de diálogo caixa.

The following procedure provides the basic steps involved in configuring data synchronization.Para obter exemplos que usam dados reais, consulte o Demonstra Passo a passo: Criando um aplicativo conectado ocasionalmente e Demonstra Passo a passo: Criando um aplicativo de dispositivo inteligente conectados ocasionalmente.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

To configure data synchronization

  1. No menu Project, clique em Add New Item.

  2. Clique no modelo Local Database Cache.

  3. Forneça um nome alternativo ou mantenha o nome padrão de LocalDataCache1.sincronização.

  4. Clique em Adicionar.

    The .sync file is added to the project and the Configure Data Synchronization dialog box opens.

  5. Set the Server connection to the remote database that you want to connect to.

  6. Set the Client connection to the local SQL Server Compact 3.5 database that will store your data locally.If you do not have a local database, you can leave the default setting of DatabaseName.sdf (new) to create a new database in the project.The name of the new database will be based on the name of the database in the Server connection.

    Observação:

    O OK botão é desabilitado por padrão e é habilitado após adicionar uma tabela para o Tabelas em cache área.

  7. Click Add to open the Configure Tables for Offline Use dialog box and select and configure the database tables to add to the local database cache.

  8. Select the database tables you want to add to the local database cache, and configure each of the following settings:

    • Data to download:

      New and incremental changes after first synchronization

      This setting retrieves records from the server that have been modified since the last time data was synchronized.The first time synchronization is called, the entire table will be downloaded.

      Entire table each time

      This setting drops the local table and replaces it with the version on the server.

    • Compare updates using

      Set this to the column name in the selected table that is used to track when the last update of a record was made.By default, any column that is defined as a datetime or timestamp will appear in this list.If the table does not contain a column that is used to track modified records, you can leave the default setting of LastEditDate (new), which will create the tracking column for you.

    • Compare inserts using

      Set this to the column name in the selected table that is used to track when new records are added to the table.By default, any column that is defined as a datetime or timestamp will appear in this list.If the table does not contain a column that is used to track new records, you can leave the default setting of CreationDate (new), which will create the tracking column for you.

    • Move deleted items to

      Set this to the table on the database server that is used to store deleted records.By default, any table that is named tableName_Deleted or tableName_Tombstone will appear in this list.If the database does not contain a table for storing deleted items, you can leave the default setting of tableName**_Tombstone (new)**, which will create the deleted items table for you.

      Observação:

      Definir essas configurações para cada tabela Você está configurando para uso off-line.

  9. By default, the Script Generation options are automatically set to generate and run the server-side scripts that are used to configure the database server.If you do not need these scripts, or if you do not have access to the database server, you can clear either option and manually run the scripts or modify your tables.If no changes are required on the server, no scripts will be generated.

    Observação:

    Esses scripts, adicione as colunas de acompanhamento às tabelas selecionadas, criar as tabelas para o armazenamento itens excluídos e adicione alguns disparadores Você deve ter para controlar as inserções, atualizações e exclusões em tabelas que são conjunto para o cache local.

  10. Clique em OK.

  11. Click Show Code Example to open the Code Example dialog box, which provides a code snippet that starts the synchronization process.You can copy this snippet to the clipboard and insert into your program.

  12. Optionally, set the Advanced options.

    The Advanced options on the Configure Data Synchronization dialog box provide settings that enable you to control whether tables are synchronized separately or in a single transaction.The options also enable code separation for n-tier applications.

    1. Synchronize tables in a single transaction.By default, this is not checked and all tables are synchronized individually.If errors are encountered, only tables with errors have their changes rolled back.If you check this option, all tables are synchronized in a single transaction.If errors are encountered, all changes for all tables are rolled back.

    2. Create synchronization components.By default, synchronization components are generated for both the client and the server.You can set this option to Client only or Server only to meet your application requirements.

    3. Server project location.By default, the synchronization components for the server will be generated in the current project.Set this option to generate synchronization components for the server into any Visual Basic or Visual C# project in the solution.

    4. Client project location.By default, the synchronization components for the client will be generated into the current project.Set this option to generate synchronization components for the client into any Visual Basic or Visual C# project in the solution.

After you complete the Configure Data Synchronization dialog box, you have to add code to your application to initiate the synchronization.

Observação:

Sincronização de dados atualiza o banco de dados local , não a tabela no dataset ou qualquer Outros objeto em seu aplicativo.Lembre-se de recarregar sua fonte de dados de aplicativo com o atualizado dados de o banco de dados local.Por exemplo, chamar o TableAdapter.Fill método para carregar a tabela de dados do seu conjunto de dados com os dados atualizados do banco de dados local.

To initiate synchronization

  • If you copied the code from the Code Example dialog box in the previous section, you can just paste it into your application.Otherwise, you can insert the following code anywhere in your application where you want to initiate the synchronization process:

    ' 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.
    

Consulte também

Tarefas

Demonstra Passo a passo: Criando um aplicativo conectado ocasionalmente

Demonstra Passo a passo: Implantando um aplicativo cliente ocasionalmente conectados com o banco de dados local

Exemplo de Dados Conectados Ocasionalmente

Demonstra Passo a passo: Criando um aplicativo de dispositivo inteligente conectados ocasionalmente

Conceitos

Visão geral sobre aplicativos ocasionalmente conectados

Aplicativos conectados ocasionalmente (dispositivos)

Outros recursos

Aplicativos ocasionalmente conectados

Date

History

Motivo

Julho de 2008

Adicionadas informações sobre como configurar sincronização de dados usando o Assistente para configuração da fonte de dados.

Alteração de recurso do SP1.

Julho de 2008

Adicionado anotações sobre a sincronização em projetos de dispositivo SMART.

Alteração de recurso do SP1.