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