Función JetOpenTable
Se aplica a: Windows | Windows Server
Función JetOpenTable
La función JetOpenTable abre un cursor en una tabla creada 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
Contexto de sesión de base de datos que se va a usar.
dbid
Identificador de base de datos que se va a usar para buscar la tabla.
szTableName
Nombre de la tabla que se va a abrir.
pvParameters
En desuso. Establezca en NULL.
cbParameters
En desuso. Establezca en 0 (cero).
grbit
Un grupo de bits que especifica cero o más de las siguientes opciones.
Value |
Significado |
---|---|
JET_bitTableDenyRead |
Otra sesión de base de datos no puede abrir la tabla para el acceso de lectura. |
JET_bitTableDenyWrite |
Otra sesión de base de datos no puede abrir la tabla para el acceso de escritura. |
JET_bitTableNoCache |
No almacene en caché las páginas de esta tabla. |
JET_bitTablePermitDDL |
Permite la modificación de DDL en tablas marcadas como FixedDDL. Esta opción debe usarse con la opción JET_bitTableDenyRead. |
JET_bitTablePreread |
Proporciona una sugerencia de que la tabla probablemente no esté en la memoria caché del búfer y que la lectura previa puede ser beneficiosa para el rendimiento. |
JET_bitTableReadOnly |
Solicita acceso de solo lectura a la tabla. |
JET_bitTableSequential |
La tabla debe estar capturada previamente de forma muy agresiva desde el disco, ya que la aplicación la analizará secuencialmente. |
JET_bitTableUpdatable |
Solicita acceso de escritura a la tabla. |
ptableid
Si se ejecuta correctamente, apunta al identificador de la tabla. Si se produce un error, el contenido de ptableid no está definido.
Valor devuelto
Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errInvalidDatabaseId |
dbid no es un identificador de base de datos válido. |
JET_errInvalidgrbit |
Se pasó una mala combinación de grbit . |
JET_errInvalidName |
El nombre especificado en szTableName no es válido. Para obtener más información sobre los nombres de tabla válidos, vea el parámetro szTableName en JetCreateTable. |
JET_errObjectNotFound |
Se intentó abrir una tabla que no existe en la base de datos. |
JET_errOutOfCursors |
Error en la operación porque el motor no puede asignar los recursos necesarios para abrir un nuevo cursor. Consulte la sección Comentarios. |
JET_errTableInUse |
Otra operación de base de datos usa la tabla. |
JET_wrnTableInUseBySystem |
Advertencia nofatal que indica que el sistema está usando la tabla. |
JET_errTableLocked |
Otra operación de base de datos bloquea la tabla. |
JET_errTooManyOpenTables |
Se intentó abrir demasiadas tablas únicas a la vez. Consulte la sección Comentarios. |
Observaciones
Las tablas abiertas con JetOpenTable normalmente deben cerrarse con JetCloseTable. La excepción a esta regla se produce cuando se llama a JetOpenTable en una transacción y la transacción se revierte (con JetRollback). Al revertir una transacción, la tabla se cierra automáticamente. En este caso, es un error cerrar la tabla con JetCloseTable.
Es legal abrir tablas del sistema con JetOpenTable (por ejemplo, MSysObjects, MSysUnicodeFixup). El esquema de las tablas del sistema puede cambiar, por lo que no se recomienda acceder a las tablas del sistema. El número de tablas únicas que se pueden abrir simultáneamente se ve afectada directamente por JET_paramMaxOpenTables. Si la tabla está abierta actualmente, se creará un nuevo cursor en la tabla. Los recursos de cursor se configuran mediante JetSetSystemParameter con JET_paramMaxCursors. Consulte también JetDupCursor.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Unicode |
Se implementa como JetOpenTableW (Unicode) y JetOpenTableA (ANSI). |
Consulte también
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
Parámetros del recurso