Suporte a transações em OLE DB
A transação é uma maneira de agrupar ou lote, uma série de atualizações a uma fonte de dados para que todas bem-sucedida e são confirmadas ao mesmo tempo ou (se qualquer um delas falhar) nenhuma são confirmadas e a transação inteira é revertida.Esse processo garante a integridade do resultado na fonte de dados.
Banco de dados OLE DB oferece suporte a transações com três métodos a seguir:
Relação de sessões e transações
Um objeto de fonte de dados único pode criar um ou mais objetos de sessão, cada um deles pode ser dentro ou fora do escopo de uma transação em um determinado momento.
Quando uma sessão não inserir uma transação, todo o trabalho concluído dentro dessa sessão no armazenamento de dados é confirmado imediatamente no cada telefonar de método.(Isso algumas vezes é chamado sistema autônomo confirmação automática modo implícita ou.)
Quando uma sessão insere uma transação, todo o trabalho concluído dentro dessa sessão no armazenamento de dados faz parte dessa transação e é confirmado ou anulado sistema autônomo uma única unidade.(Isso é às vezes chamado modo manual confirmar.)
transação suporte é específica ao provedor.Se o provedor que você estiver usando oferecer suporte transações, um objeto de sessão que ofereça suporte a ITransaction and ITransactionLocal pode inserir uma simples (ou seja, não aninhados) transação. De classe do modelos OLE DBCSession oferece suporte a essas interfaces e é a maneira recomendada para implementar transação suporte no Visual C++.
Iniciando e encerrando a transação
Chamar o StartTransaction, confirmar, and Anular métodos do objeto de conjunto de linhas no consumidor.
De chamadaITransactionLocal::StartTransaction inicia uma nova transação local.Quando você inicia a transação, quaisquer alterações exigidas pelas operações subseqüentes não são realmente aplicadas para o armazenamento de dados até que você confirme a transação.
De chamadaITransaction:: confirmar or ITransaction::Abort Finaliza a transação.confirmar faz com que todas as alterações no escopo de transação a ser aplicado ao armazenamento de dados.Anular faz com que todas as alterações no escopo de transação a ser cancelada e o armazenamento de dados é deixado no estado que tinha antes de iniciar a transação.
Transações aninhadas
A transação aninhada ocorre ao iniciar uma nova transação local quando uma transação ativo já existe na sessão.A nova transação seja iniciada sistema autônomo uma transação aninhada abaixo da transação corrente.Se o provedor não aninhado oferecem suporte a transações, chamada StartTransaction Quando já existe uma transação ativo na sessão retorna XACT_E_XTIONEXISTS.
Transações distribuídas
Uma transação distribuída é uma transação atualiza dados distribuídos; ou seja, em rede de dados em mais de um sistema de computador.Se você deseja oferecer suporte a transações em um sistema distribuído, você deve usar o .NET estrutura em vez do suporte a transações OLE DB.
Para obter informações sobre transações no Microsoft .NET estrutura, consulte Processamento de transações in the Windows Software Development Kit (SDK).