Função JetRollback

Aplica-se a: Windows | Windows Server

Função JetRollback

A função JetRollback desfaz as alterações feitas no estado do banco de dados e retorna ao último ponto de salvamento. O JetRollback também fechará todos os cursores abertos durante o ponto de salvamento. Se o ponto de salvamento mais externo for desfeito, a sessão sairá da transação.

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

Parâmetros

sesid

A sessão a ser usada para essa chamada.

grbit

Um grupo de bits que contém as opções a serem usadas para essa chamada, que incluem zero ou mais dos seguintes:

Valor

Significado

JET_bitRollbackAll

Essa opção solicita que todas as alterações feitas no estado do banco de dados durante todos os pontos de salvamento sejam desfeitas. Como resultado, a sessão sairá da transação.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros do ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

JET_errClientRequestToStopJetService

Não é possível concluir a operação porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errInstanceUnavailable

Não é possível concluir a operação porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errNotInitialized

Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada.

JET_errNotInTransaction

A operação falhou porque a sessão fornecida não está em uma transação.

JET_errRestoreInProgress

Não é possível concluir a operação porque uma operação de restauração está em andamento na instância associada à sessão.

JET_errRollbackError

Não foi possível reverter as alterações devido a um erro fatal.

JET_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errTermInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo desligada.

Com êxito, todas as alterações feitas no banco de dados durante o ponto de salvamento atual para a sessão determinada serão desfeitas e esse ponto de salvamento será encerrado. Se o último ponto de salvamento da sessão tiver sido encerrado, a sessão sairá da transação.

Em caso de falha, o estado transacional da sessão permanecerá inalterado. Nenhuma alteração no estado do banco de dados ocorrerá. Uma falha durante a reversão é considerada um erro catastrófico do banco de dados.

Comentários

Deve haver uma chamada para JetCommitTransaction ou JetRollback para corresponder a cada chamada a JetBeginTransaction para uma determinada sessão.

Se algum cursor foi aberto (usando JetOpenTable, por exemplo) durante um ponto de salvamento que está sendo revertido, esse cursor será fechado.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction