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