Compartilhar via


Função JetBeginTransaction3

Aplica-se a: Windows | Windows Server

A função JetBeginTransaction3 faz com que uma sessão insira uma transação e crie um novo ponto de salvamento. Essa função pode ser chamada mais de uma vez em uma única sessão para criar pontos de salvamento adicionais. Esses pontos de salvamento podem ser usados para manter ou descartar seletivamente as alterações no banco de dados.

A função JetBeginTransaction3 foi introduzida no sistema operacional Windows 8.

JET_ERR JET_API JetBeginTransaction3(
  __in          JET_SESID sesid,
  __in          int64 trxid,
  __in          JET_GRBIT grbit
);

Parâmetros

sesid

A sessão a ser usada para esta chamada.

trxid

Um identificador opcional fornecido pelo usuário para identificar a transação.

grbit

Um grupo de bits que especifica zero ou mais dos valores de opção de chamada listados na tabela a seguir.

Valor

Significado

JET_bitTransactionReadOnly

A transação não modificará o banco de dados. Se uma atualização for tentada, essa operação falhará com o código de resposta JET_errTransReadOnly. Essa opção é ignorada, a menos que seja solicitada quando a sessão fornecida ainda não estiver em uma transação. Essa opção está disponível em versões do sistema operacional Windows a partir do Windows XP.

Retornar valor

Essa função retorna o tipo de dados JET_ERR com um dos códigos de retorno listados na tabela a seguir. Para obter mais informações sobre os possíveis erros do Mecanismo de Armazenamento Extensível (ESE), consulte Erros do Mecanismo de Armazenamento Extensível 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 devido a uma chamada para a função 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 código de retorno é retornado por versões do Windows a partir do Windows XP.

JET_errNotInitialized

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

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_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo. Esse erro é retornado por versões do Windows a partir do Windows XP.

JET_errTermInProgress

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

JET_errTransTooDeep

Uma nova transação não pode ser iniciada porque a sessão já atingiu a profundidade máxima de pontos de salvamento permitida pelo mecanismo do banco de dados.

Se tiver êxito, a sessão fornecida estará dentro de uma transação. Se a sessão estiver anteriormente dentro de uma transação, um novo ponto de salvamento será criado.

Em caso de falha, o estado transacional da sessão permanecerá inalterado. Nenhuma alteração no estado do banco de dados ocorrerá.

Comentários

Para obter mais informações sobre como as transações funcionam, consulte JetBeginTransaction.

Requisitos

Requisito Valor

Cliente

Requer o Windows 8.

Servidor

Requer o Windows Server 2012.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer o ESENT.dll.

Confira também

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetGetSystemParameter
JetResetSessionContext
JetRollback
JetSetSessionContext
Parâmetros do sistema