Demonstra Passo a passo: Criando um aplicativo conectado ocasionalmente

Aplicativos Ocasionalmente conectados são aplicativos que nem sempre podem ter acesso a dados remotos.Como nem sempre eles têm esse acesso, eles consomem dados de um banco de dados local localizado no cliente e periodicamente sincronizam os dados entre o banco de dados remoto e o banco de dados local.A sincronização de dados entre bancos de dados local e remoto é facilitada por Microsoft Synchronization Services for ADO.NET (O namespace Microsoft.Synchronization.Data).Essa sincronização é configurada na caixa de diálogo Configure Data Synchronization.

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.

Essa explicação fornece instruções passo a passo para desenvolver um aplicativo ocasionalmente conectado.

Durante essa explicação passo a passo, você executará as seguintes tarefas:

  • Criar um novo aplicativo de Formulários do Windows.

  • Adicionar um novo Local Database Cache ao projeto.

  • Configurar as definições de sincronização que executam as seguintes tarefas:

    • Configurar as conexões de dados ao banco de dados do servidor.

    • Configure a sincronização para criar um novo banco de dados local.

    • Selecionar as tabelas no banco de dados que você deseja sincronizar com o seu aplicativo.

  • Adicionar um controle DataGridView ao formulário para exibir dados do banco de dados local.

  • Adicionar código para iniciar a sincronização entre bancos de dados.

  • Adicionar uma caixa de mensagem para exibir informações sobre o número de registros sincronizados.

Pré-requisitos

Para concluir essa explicação passo a passo, você precisa do seguinte:

  • Acesso à versão SQL Server do banco de dados de exemplos Northwind.Para obter mais informações, consulte Como: Instalar bancos de dados de exemplo.

  • SQL Server Compact 3.5 instalado no computador que está executando o Visual Studio.

Criando o aplicativo de Formulários do Windows

Como você exibirá os dados em um Formulário do Windows (para verificar se a sincronização é bem-sucedida), a primeira etapa nessa explicação passo a passo é criar um novo aplicativo Formulários do Windows.

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.

Para criar o novo aplicativo Formulários do Windows

  1. No menu File, crie um novo projeto.

  2. Nomeie o projeto OCSWalkthrough.

    Observação:

    O Configurar sincronização de dados caixa de diálogo é suportada em projetos do Visual Basic e translation from VPE for Csharp, assim, criar o novo projeto em um desses idiomas.

  3. Clique no modelo Windows Forms Application e em seguida clique em OK .Para obter mais informações, consulte Criando Aplicativos Baseados no Windows.

    O projeto OCSWalkthrough é criado e adicionado ao Solution Explorer.

Adicionando um arquivo de sincronização ao projeto

A próxima etapa na criação de um aplicativo ocasionalmente conectado é adicionar (ou criar) um banco de dados local no cliente.Para adicionar um banco de dados local que você vai poder sincronizar com o banco de dados remoto, você adiciona um modelo Local Database Cache ao seu projeto.Você adiciona arquivos de cache de banco de dados local (arquivos .sync) a projetos, usando a caixa de diálogo Add New Item.

Para adicionar um arquivo de configurações de sincronização a um projeto

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

  2. clicar no Cache do banco de dados local modelo e tipo NorthwindCache.sincronização no Nome box.

  3. Clique em Adicionar.

    Um arquivo NorthwindCache.Sync é adicionado ao Solution Explorer e a caixa de diálogo Configure Data Synchronization aparece.

Configurando a sincronização de dados.

Configurar a sincronização de dados consiste nas seguintes tarefas:

  • Fornecer um conexão de dados so banco de dados remoto.Essa é a conexão do servidor.

  • Fornecer uma conexão de dados ao banco de dados local ou criar um novo banco de dados no cliente, conforme mostrado nessa explicação passo a passo.Essa é a conexão do cliente.

  • Selecionar as tabelas da conexão remota que você deseja usar em seu aplicativo.Elas são denominadas cached tables.

  • Para cada tabela que você adiciona ao banco de dados local, selecione as colunas que são necessárias para reconciliar as alterações e a tabela onde armazenar itens excluídos.Cada tabela requer colunas específicas que mantêm controle de registros novos e modificados, junto com uma tabela que mantém controle dos registros que tenham sido excluídos.

Configurando as conexões de dados

Agora você definirá a conexão do servidor para conectar-se ao banco de dados remoto (o banco de dados externo ao seu aplicativo).A conexão do cliente pode se conectar a um banco de dados SQL Server Compact 3.5 existente, ou você pode deixar que a caixa de diálogo Configure Data Synchronization crie um novo banco de dados local para você.Para essa explicação passo a passo, você irá criar uma conexão ao banco de dados do servidor e deixar a conexão de cliente padrão criar automaticamente um novo banco de dados do cliente (Northwind.sdf) no projeto.

Para definir as conexões de dados para os bancos de dados do servidor e do cliente

  1. Selecione uma Server connection para a versão SQL Server do banco de dados Northwind , ou clique em New para criar uma nova conexão para a versão SQL Server do banco de dados Northwind.Para obter mais informações, consulte Como: Criar uma conexão de dados para o banco de dados Northwind.

  2. Deixe a valor padrão Northwind.sdf (new) para Client connection.Isso cria um novo banco de dados SQL Server Compact 3.5 e o adiciona ao seu projeto.

    Depois de selecionar a conexão de servidor, a caixa de diálogo Configure Data Synchronization consulta o banco de dados remoto no servidor para obter uma lista de tabelas disponíveis e habilita o botão Add após a lista ser recuperada.

    Observação:

    Aviso que o OK botão não está habilitado.Isso ocorre porque nenhuma tabela foi selecionada para sincronização.A próxima seção explica como adicionar tabelas, o que habilita o botão OK.

Selecionando e configurando as tabelas que você deseja usar offline

Agora você irá selecionar as tabelas para adicionar ao banco de dados do cliente e sincronizar com o seu aplicativo.Para cada tabela que você adicionar ao banco de dados do cliente, selecione as colunas de rastreamento necessárias para reconciliar as alterações e a tabela para armazenar itens excluídos.Se você deixar as configurações padrão, a caixa de diálogo Configure Data Synchronization criará as colunas de rastreamento e a tabela de itens excluídos.Você usará as configurações padrão nessa explicação passo a passo.

Para configurar tabelas para caching local

  1. Clique em Add para abrir a caixa de diálogo Configure Tables for Offline Use.

  2. Selecione e verifique a tabela Customers.

  3. Deixe todos os valores padrão.Clique em OK.

    A tabela Customers é adicionada à lista Cached Tables.

  4. Na caixa de diálogo Configure Data Synchronization, clique em OK.

    As colunas de rastreamento e a tabela de itens excluídos são criadas no servidor.O banco de dados Northwind.sdf é criado no projeto e sincronizado pela primeira vez.

  5. Selecione e verifique a tabela Customers no Data Source Configuration Wizard e em seguida, clique em Finish.

    NorthwindDataSet.xsd é adicionado ao projeto e todas as caixas de diálogo fecham.

Habilitando sincronização no seu aplicativo

Após concluir as etapas anteriores, a sincronização de dados está configurada.Nesse ponto seu aplicativo contém o seguinte:

  • O banco de dados local Northwind (Northwind.sdf).

  • As informações de configuração de sincronização de dados (NorthwindCache.sync).

  • O dataset tipado NorthwindDataSet.xsd gerado pelo assistente Data Source Configuration.Ele contém uma tabela Customers que preenche a partir do banco de dados local.

  • Uma pasta SQLScripts que contém os scripts que são usados para criar as colunas de rastreamento, tabela de itens excluídos e disparadores necessários que rastreiam alterações no servidor.

  • Uma pasta SQLUndoScripts que contém scripts para remover as colunas de rastreamento, tabela de itens excluídos e disparadores necessários que foram adicionados ao servidor.

    Observação:

    Scripts de SQL são criadas somente Se precisam de modificações sejam feitas no servidor.Se o servidor já tiver uma tabela de itens excluídos e colunas de acompanhamento , Nenhum script será criado.

  • Referências para as seguintes DLLs Microsoft Synchronization Services for ADO.NET:

    • Microsoft.Synchronization.Data

    • Microsoft.Synchronization.Data.Server

    • Microsoft.Synchronization.Data.SqlServerCe

Depois de configurar a sincronização de dados, você ainda deve adicionar funcionalidade de sincronização ao seu aplicativo.Mais especificamente, você precisa adicionar o código que inicia o processo de sincronização.

Primeiro, você irá adicionar um controle DataGridView arrastando o nó Customers da janela Data Sources para o formulário.O DataGridView irá exibir a tabela Customers a partir do cache de banco de dados local (o banco de dados Northwind.sdf localizado no projeto) para que você possa verificar que os dados estão sincronizando entre os bancos de dados local e remoto.Você também adicionará um botão para iniciar o processo de sincronização.

Para criar um formulário vinculado a dados para iniciar e verificar a sincronização de dados

  1. Arraste o nó Customers da janela Data Sources para Form1.

  2. Arraste um controle Button da ToolBox para Form1 .conjunto o seu Nome propriedade SynchronizeButton e seus Textopropriedade para sincronizar agora.

  3. Clique duas vezes no botão Synchronize Now para criar um manipulador de eventos de clique de botão e abra o formulário no Editor de Códigos.

  4. Adicione código para iniciar o processo de sincronização e, em seguida, preencha novamente a tabela Customers no DataSet.O código no manipulador de eventos deve se parecer com o seguinte:

    Observação:

    A linha de código declarando o syncStats variável é explicado na próxima seção.

    ' Call the Synchronize method to synchronize
    ' data between local and remote databases.
    Dim syncAgent As NorthwindCacheSyncAgent = New NorthwindCacheSyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = _
        syncAgent.Synchronize()
    
    ' After synchronizing the data, refill the
    ' table in the dataset.
    Me.CustomersTableAdapter.Fill(NorthwindDataSet.Customers)
    
    // Call the Synchronize method to synchronize
    // data between local and remote databases.
    NorthwindCacheSyncAgent syncAgent = new NorthwindCacheSyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats;
    syncStats = syncAgent.Synchronize();
    // After synchronizing the data, refill the
    // table in the dataset.
    this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
    

Testando o aplicativo

Para testar o aplicativo

  1. Pressione F5.

  2. Com o aplicativo em execução, use Server Explorer/Database Explorer (ou outra ferramenta de gerenciamento de banco de dados) para se conectar ao banco de dados remoto do servidor e modificar alguns registros.

    1. Em Server Explorer/Database Explorer, localize a tabela Clientes no servidor de banco de dados remoto (não a conexão a Northwind.sdf).

    2. Clique com o botão direito do mouse na tabela Clientes e clique em Show Table Data.

    3. Modifique um ou mais registros e confirme a alteração.(Navegue fora da linha modificada).

  3. Volte para o formulário e clique em Synchronize Now.

  4. Verifique que as modificações ao banco de dados remoto estão sincronizadas com o banco de dados local e exibidas na grade.

  5. Feche o formulário.(Pare a depuração.)

Recuperando informações de uma sincronização

Quando você chama o método Synchronize, ele faz mais do que apenas iniciar o processo de sincronização.O método Synchronize também retorna um objeto SyncStatistics a partir do qual você pode acessar informações sobre a sincronização.

Para acessar as estatísticas de sincronização

  • Abra Form1 no Editor de códigos e adicione o seguinte código na parte inferior do manipulador de eventos SynchronizeButton_Click, abaixo do código adicionado nas etapas anteriores:

        MessageBox.Show("Changes downloaded: " & _
    syncStats.TotalChangesDownloaded.ToString)
    
    MessageBox.Show("Changes downloaded: " +
        syncStats.TotalChangesDownloaded.ToString());
    

Testando o aplicativo

Para testar o aplicativo

  1. Pressione F5.

  2. Com o aplicativo em execução, use Server Explorer/Database Explorer (ou outra ferramenta de gerenciamento de banco de dados) para se conectar ao banco de dados remoto do servidor e modificar alguns registros.

    1. Em Server Explorer/Database Explorer, localize a tabela Clientes no servidor de banco de dados remoto (não a conexão a Northwind.sdf).

    2. Clique com o botão direito do mouse na tabela Clientes e clique em Show Table Data.

    3. Modifique um ou mais registros e confirme a alteração.(Navegue fora da linha modificada).

  3. Volte para o formulário e clique em Synchronize Now.

  4. Aparece um caixa de mensagem que contém informações sobre registros sincronizados.

  5. Verifique que as modificações ao banco de dados remoto estão sincronizadas com o banco de dados local e exibidas na grade.

Próximas etapas

Dependendo dos requisitos do seu aplicativo, há várias etapas que você pode querer fazer depois de configurar um cache de banco de dados local em um aplicativo.Por exemplo, você poderia fazer os seguintes aprimoramentos para este aplicativo:

Consulte também

Tarefas

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

Conceitos

Visão geral sobre aplicativos ocasionalmente conectados

SQL Server Compact 3.5 e Visual Studio

Date

History

Motivo

Julho de 2008

Parágrafo adicional sobre como configurar a sincronização de dados com o Assistente para configuração da fonte de dados.

Alteração de recurso do SP1.