Função JetOpenTable
Aplica-se a: Windows | Windows Server
Função JetOpenTable
A função JetOpenTable abre um cursor em uma tabela criada anteriormente.
JET_ERR JET_API JetOpenTable(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in const tchar* szTableName,
__in_opt const void* pvParameters,
__in unsigned long cbParameters,
__in JET_GRBIT grbit,
__out JET_TABLEID* ptableid
);
Parâmetros
sesid
O contexto de sessão do banco de dados a ser usado.
dbid
O identificador de banco de dados a ser usado para localizar a tabela.
szTableName
O nome da tabela a ser aberta.
pvParameters
Preterido. Defina como NULL.
cbParameters
Preterido. Defina como 0 (zero).
grbit
Um grupo de bits que especifica zero ou mais das opções a seguir.
Valor |
Significado |
---|---|
JET_bitTableDenyRead |
A tabela não pode ser aberta para acesso de leitura por outra sessão de banco de dados. |
JET_bitTableDenyWrite |
A tabela não pode ser aberta para acesso de gravação por outra sessão de banco de dados. |
JET_bitTableNoCache |
Não armazene em cache as páginas desta tabela. |
JET_bitTablePermitDDL |
Permite a modificação de DDL em tabelas sinalizadas como FixedDDL. Essa opção deve ser usada com a opção JET_bitTableDenyRead. |
JET_bitTablePreread |
Fornece uma dica de que a tabela provavelmente não está no cache de buffer e que a pré-leitura pode ser benéfica para o desempenho. |
JET_bitTableReadOnly |
Solicita acesso somente leitura à tabela. |
JET_bitTableSequential |
A tabela deve ser muito agressivamente pré-buscada do disco porque o aplicativo a examinará sequencialmente. |
JET_bitTableUpdatable |
Solicita acesso de gravação à tabela. |
Ptableid
Em caso de êxito, aponta para o identificador da tabela. Em caso de falha, o conteúdo de ptableid é indefinido.
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_errInvalidDatabaseId |
dbid não é um identificador de banco de dados válido. |
JET_errInvalidgrbit |
Uma combinação ruim de grbit foi passada. |
JET_errInvalidName |
O nome fornecido em szTableName é inválido. Para obter mais informações sobre nomes de tabela válidos, consulte o parâmetro szTableName em JetCreateTable. |
JET_errObjectNotFound |
Foi feita uma tentativa de abrir uma tabela que não existe no banco de dados. |
JET_errOutOfCursors |
A operação falhou porque o mecanismo não pode alocar os recursos necessários para abrir um novo cursor. Consulte a seção Comentários. |
JET_errTableInUse |
A tabela está sendo usada por outra operação de banco de dados. |
JET_wrnTableInUseBySystem |
Um aviso não fatal que indica que a tabela está sendo usada pelo sistema. |
JET_errTableLocked |
A tabela é bloqueada por outra operação de banco de dados. |
JET_errTooManyOpenTables |
Foi feita uma tentativa de abrir muitas tabelas exclusivas ao mesmo tempo. Consulte a seção Comentários. |
Comentários
As tabelas abertas com JetOpenTable geralmente devem ser fechadas com JetCloseTable. A exceção a essa regra ocorre quando JetOpenTable é chamado em uma transação e a transação é revertida (com JetRollback). Ao reverter uma transação, a tabela é fechada automaticamente. Nesse caso, é um erro fechar a tabela com JetCloseTable.
É legal abrir tabelas do sistema com JetOpenTable (por exemplo, MSysObjects, MSysUnicodeFixup). O esquema das tabelas do sistema pode ser alterado, portanto, o acesso a tabelas do sistema é desencorajado. O número de tabelas exclusivas que podem ser abertas simultaneamente é afetado diretamente por JET_paramMaxOpenTables. Se a tabela estiver aberta no momento, um novo cursor será criado na tabela. Os recursos de cursor são configurados usando JetSetSystemParameter com JET_paramMaxCursors. Confira também JetDupCursor.
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 JetOpenTableW (Unicode) e JetOpenTableA (ANSI). |
Consulte Também
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
Parâmetros do recurso