Partilhar via


Visão geral sobre aplicativos ocasionalmente conectados

Um aplicativo ocasionalmente conectado é um aplicativo que usa dados de um banco de dados remoto mas que nem sempre pode ter acesso ao banco de dados remoto.Aplicativos ocasionalmente conectados também são usados quando o acesso está disponível continuamente, mas talvez não seja eficiente para consultar continuamente o banco de dados remoto para dados que raramente são alterados (como uma lista de estados).Nessas situações, aplicativos podem usar dados de um banco de dados local situado no cliente e sincronizar os dados periodicamente com o banco de dados remoto.

Em outras palavras, se seu aplicativo exigir dados de um banco de dados remoto que não precisa estar continuamente recuperados do banco de dados, você pode usar um cache de banco de dados local para armazenar os dados sobre o computador cliente ou diretamente dentro do aplicativo.For example, consider an inventory application that uses data from several tables in a database.O número de itens em estoque para qualquer parte individual é uma informação importante dos dados que altera continuamente, portanto, o aplicativo deve sempre refletem os valores atuais em banco de dados se possível.No entanto, seu aplicativo também exibe uma lista de empresas de envio válidas que raramente alterado.Essas empresas de envio válidas são armazenadas na tabela Transportadoras e não precisam ser recuperados sempre dados são consultados a partir do banco de dados.Armazenando nesta tabela Transportadoras em um cache de banco de dados local, você pode diminuir o número de percursos circulares desnecessários que seu aplicativo tem a fazer o banco de dados remoto.Por isso, além ao usar um cache de banco de dados local para aplicativos que têm conectividade ocasional, considere armazenar dados que muda com pouca frequência, ou que alterações em uma agenda conhecida, em um cache de banco de dados local.

Você pode configurar o cache para armazenar tabelas individuais, conjuntos de tabelas, ou registros específicos consultados a partir de uma tabela (por exemplo, somente clientes que possuem um representante de vendas específico).

A sincronização de dados entre bancos de dados do cliente e servidor é mais fácil por Microsoft Synchronization Services for ADO.NET (Microsoft.Synchronization.Data namespace).Você pode configurar a sincronização visualmente no Visual Studio usando a sincronização configurar dados caixa de diálogo.

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 dispositivo SMART projetos, o designer de sincronização não pode ser iniciado a partir do Assistente para configuração da fonte de dados.Para obter mais informações, consulte Aplicativos conectados ocasionalmente (dispositivos).

Além disso, o suporte para o alterar recurso no SQL servidor 2008 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 dadoscaixa de diálogo ou o fonte de dados configuração assistente.Para obter mais informações, consulte Como: Configurar sincronização de dados para usar o SQL servidor alterar acompanhamento.

Serviços de sincronização API (Microsoft.Synchronization.Data)

Serviços Microsoft de sincronização para o ADO.NET foi projetado para aplicativos conectados ocasionalmente.Ele permite que você sincronizar dados de fontes díspares pela camada dois, arquiteturas n-camada e baseada em serviços.Em vez de apenas replicar um banco de dados e seu esquema, a API de serviços de sincronização fornece um conjunto de componentes para sincronizar dados entre os serviços de dados e um armazenamento local.Cada vez mais aplicativos são usados nos clientes móveis, como computadores portáteis e dispositivos, que não possuem um conexão de rede consistente ou confiável a um servidor central.É importante para esses aplicativos para trabalhar com uma cópia local dos dados no cliente.Igualmente importante é o requisito para sincronizar a cópia local dos dados com dados em um servidor central quando um conexão de rede está disponível.A Synchronization Services API, que é modelado após o Acesso a Dados ADO.NET APIs, lhe uma forma intuitiva para sincronizar dados.Ele torna a criação de aplicativos para ambientes ocasionalmente conectados uma extensão lógica de criação de aplicativos para o qual você pode depender um conexão de rede consistente.

Observação:

Em projetos de dispositivo SMART, 2 - camada arquitetura não é suportado.Para obter mais informações, consulte Aplicativos conectados ocasionalmente (dispositivos).

Instalando serviços de sincronização API e documentação

A classe Synchronization Services não é parte do .NET Framework.Ele é instalado sistema autônomo parte do SQL Server Compact 3.5 instalar. (Por padrão, SQL Server Compact 3.5 é instalado quando você instala Visual Studio.) Por padrão, o Synchronization Services documentação não está instalada. Portanto, ele estará disponível somente se ajuda estiver configurada para uso on-line.Para instalar o Synchronization Services documentação para uso local, primeiro você deve fazer o baixar da Coleção de Arquivos de Ajuda das Microsoft sincronização Services para manuais online do ADO.NET Site da Web.

Incorporar sincronização de dados em aplicativos com o Visual Studio

Para incorporar a sincronização de dados em seu aplicativo, Visual Studio fornece um banco de dados local do cache Modelo.Cache do Banco de dados local está disponível como um novo projeto modelo de item.No menu Project, clique em Add New Item. Para obter mais informações, consulte Como: Configurar sincronização de dados em um aplicativo.

Observação:

O Cache do banco de dados local modelo não pode ser adicionado diretamente a um projeto dispositivo inteligente.Em vez disso, você deve adicionar o Cache do banco de dados local para o WCF da camada intermediária ou a serviço Web projeto e, em seguida, dividir os componentes de sincronização gerado em projeto dispositivo inteligente.Para obter mais informações, consulte Aplicativos conectados ocasionalmente (dispositivos).

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.

Adicionando um banco de dados local do cache abre a sincronização configurar dados caixa de diálogo.Você usar este caixa de diálogo para fornecer informações específicas sobre o cliente e servidor para configurar os componentes necessários a sincronização.O cache de banco de dados local usa um SQL Server Compact 3.5 banco de dados no cliente para armazenar dados localmente.Você pode usar um banco de dados existente SQL Server Compact 3.5 Como a cache de banco de dados local.Se você ainda não tiver um banco de dados local, você pode usar a sincronização configurar dados caixa de diálogo para criar um novo banco de dados local.Para criar um novo local SQL Server Compact 3.5 banco de dados, você pode definir o Cliente de Conexão (na caixa Dados Configurar Sincronização caixa de diálogo) para criar um novo SQL Server Compact 3.5 banco de dados baseadas nas tabelas selecionadas a partir de Conexão Server.

Observação:

O Configurar sincronização de dados caixa de diálogo permite que você configure Microsoft Synchronization Services for ADO.NET para cenários de baixar apenas. Isso significa que depois de configurar a sincronização de dados usando este caixa de diálogo, chamada Microsoft.Synchronization.Data.SyncAgent.Synchronize será apenas atualizar o banco de dados local com alterações encontradas no banco de dados remoto.Changes made to the data on the local database will not be uploaded to the remote database.Depois de configurar a sincronização de dados usando a sincronização configurar dados caixa de diálogo, você poderá programaticamente ativar carrega (sincronização bidirecional) durante a sincronização.Para obter mais informações, consulte Como: Configurar um local e remota banco de dados para sincronização bidirecional.

Configurando o banco de dados remoto para sincronização

Para a sincronização de dados para trabalhar com êxito, há algumas adições que são necessárias para cada tabela no banco de dados remoto com o qual você deseja sincronizar.A sincronização configurar dados cria caixa de diálogo SQL scripts sejam executados em relação ao banco de dados remoto para criar os objetos necessários (os objetos listados na tabela abaixo).Todos os scripts SQL que são criados pelo designer de sincronização são salvas em uma pasta SQLScripts no seu projeto.

Observação:

Os scripts SQL gerados pela Configurar sincronização de dadoscaixa de diálogo são executados por padrão.Você pode escolher se os scripts são gerado e executado, definindo a geração de script opções na caixa configurar tabelas para off-line usar caixa de diálogo.

O comportamento padrão das Configurar sincronização de dados caixa de diálogo é executar os scripts e atualize o banco de dados remoto quando a caixa de diálogo será fechada automaticamente.desmarcar o Executar scripts quando esta caixa de diálogo é fechada caixa de seleção se desejar executar automaticamente os scripts.Além disso, se o banco de dados remoto já tem o controle necessário colunas, disparadores e Itens Excluídos tabela, não scripts serão gerados.Em outras palavras, se nenhuma alteração é necessárias para o banco de dados remoto, não os scripts são criados.

A tabela a seguir lista os itens necessários no banco de dados remoto e fornece uma explicação de cada:

Adições ao cada tabela sincronizada no banco de dados remoto

Explicação

Coluna LastEditDate

Esta coluna deve ser um DateTime ou timestamp em cada tabela sendo sincronizada.Ele é comparado à coluna no cliente para identificar registros que tenham sido modificados no servidor desde a última sincronização chamada LastEditDate.

Coluna CreationDate

Esta coluna deve ser um DateTime ou timestamp em cada tabela sendo sincronizada.Ele é comparado à coluna CreationDate no cliente para identificar registros que foram adicionados ao servidor desde a última sincronização chamada.

Tabela Itens Excluídos ( TableName _Deleted)

Os itens são movidos para essa tabela quando eles são excluídos da tabela de servidor de banco de dados.Isso é feito para identificar registros excluídos a partir do servidor desde a última sincronização chamada.Cada tabela sendo sincronizada requer uma tabela de itens excluídos para controlar os registros excluídos da tabela remota.

DeletionTrigger ( TableName _DeletionTrigger)

Esse disparador é executado sempre que um registro é excluído do tabela de banco de dados o servidor.Os registros excluídos são movidos para a tabela de itens excluídos.Elas são movidas para a tabela de itens excluídos porque registros no banco de dados do cliente que não estão em banco de dados do servidor podem ser tratados como novos registros e adicionados novamente ao servidor.Serviços de sincronização verifica a tabela de itens excluídos para determinar que ele deve excluir um registro excluído do banco de dados em vez de adicioná-lo de volta ao banco de dados do servidor do cliente.

InsertTrigger ( TableName _InsertTrigger)

Esse disparador preenche a coluna CreationDate com a data atual e a hora quando novos registros são adicionados.

UpdateTrigger ( TableName _UpdateTrigger)

Esse disparador preenche a coluna LastEditDate com a data atual e a hora quando os registros existentes são modificados.

Iniciando o processo de sincronização a partir um aplicativo

Após fornecendo informações necessárias na caixa Dados Configurar Sincronização caixa de diálogo, adicione código ao seu aplicativo para iniciar a sincronização.É importante compreender que a sincronização de dados atualiza o banco de dados local, não a tabela no conjunto de dados ou qualquer outro objeto em seu aplicativo.Lembre-se de recarregar a fonte de dados do seu aplicativo com os dados atualizados do banco de dados local.Por exemplo, chame o método TableAdapter.Fill para carregar a tabela de dados do seu DataSet com os dados atualizados do banco de dados local.

Adicione o seguinte código ao seu aplicativo no qual você deseja iniciar o processo de sincronização:

' 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

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

Demonstra Passo a passo: Criando um aplicativo conectado ocasionalmente

Como: Configurar um local e remota banco de dados para sincronização bidirecional

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

Conceitos

SQL Server Compact 3.5 e Visual Studio

Aplicativos conectados ocasionalmente (dispositivos)

Outros recursos

Acessando Dados (Visual Studio)

Date

History

Motivo

Julho de 2008

Adicionado um parágrafo sobre como incorporar a sincronização de dados do Assistente para configuração da fonte de dados.

Alteração de recurso do SP1.

Julho de 2008

Adicionado um parágrafo sobre como habilitar ao configurar a sincronização de dados de acompanhamento de alterações do SQL servidor.

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.