Função JetBeginSession
Aplica-se a: Windows | Windows Server
Função JetBeginSession
A função JetBeginSession inicia uma sessão e inicializa e retorna um identificador de sessão ESE (JET_SESID). As sessões controlam todo o acesso ao banco de dados e são usadas para controlar o escopo das transações. A sessão pode ser usada para iniciar, confirmar ou anular transações. A sessão também é usada para anexar, criar ou abrir um banco de dados. A sessão é usada como o contexto para todas as operações DDL e DML. Para aumentar a simultaneidade e o acesso paralelo ao banco de dados, várias sessões podem ser iniciadas.
JET_ERR JET_API JetBeginSession(
__in JET_INSTANCE instance,
__out JET_SESID* psesid,
__in_opt JET_PCSTR szUserName,
__in_opt JET_PCSTR szPassword
);
Parâmetros
instance
A instância de banco de dados a ser usada para essa chamada.
psesid
Ponteiro para a variável que o identificador de sessão inicializa no retorno bem-sucedido.
Szusername
Esse parâmetro é reservado.
Szpassword
Esse parâmetro é reservado.
Valor Retornado
Essa função permite o retorno de qualquer JET_ERRs definidos nesta API. Para obter mais informações sobre erros do Jet, 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_errInvalidParameter |
Um dos parâmetros fornecidos continha um valor inesperado ou continha um valor que não fazia sentido quando combinado com o valor de outro parâmetro. |
JET_errNotInitialized |
Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada. |
JET_errOutOfMemory |
A operação falhou porque a memória não pôde ser alocada. |
JET_errOutOfSessions |
O número de sessões que o mecanismo permitirá que o cliente inicie é limitado. Esse valor pode ser alterado usando JetSetSystemParameter com a constante JET_paramMaxSessions. O número padrão de sessões é 16. Consulte Parâmetros do sistema para obter detalhes sobre JET_paramMaxSessions. |
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_errTermInProgress |
Não é possível concluir a operação porque a instância associada à sessão está sendo desligada. |
Com êxito, o identificador de sessão é inicializado e pode ser usado para operações de banco de dados.
Em caso de falha, não há sessões disponíveis ou uma nova sessão não pôde ser inicializada.
Comentários
Atenção cuidadosa deve ser usada ao usar sessões em diferentes threads. Uma sessão rastreia em qual thread ele foi usado durante JetBeginTransaction, JetCommitTransaction ou JetRollback e gerará um erro se usado em vários threads com uma transação aberta. O JetResetSessionContext, JetSetSessionContext pode alterar esse comportamento. Como a sessão ainda é um contexto serializado, e várias operações de banco de dados não podem ser executadas em uma única sessão simultaneamente, somente serialmente. No entanto, você pode usar várias sessões para obter acesso simultâneo ao banco de dados. As sessões podem ser usadas dentro de uma transação entre threads definindo e redefinindo os contextos de sessão.
O identificador de sessão deve ser fechado com JetEndSession.
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. |
Unicode |
Implementado como JetBeginSessionW (Unicode) e JetBeginSessionA (ANSI). |
Consulte Também
JET_ERR
JET_INSTANCE
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetDupSession
JetEndSession
JetResetSessionContext
JetRollback
JetSetSessionContext
JetStopService
Parâmetros do sistema