Fonction JetOpenTable

S’applique à : Windows | Windows Serveurs

Fonction JetOpenTable

La fonction JetOpenTable ouvre un curseur sur une table créée précédemment.

    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
    );

Paramètres

sesid

Contexte de la session de base de données à utiliser.

dbid

Identificateur de base de données à utiliser pour rechercher la table.

szTableName

Nom de la table à ouvrir.

pvParameters

Action déconseillée. Affectez la valeur null.

cbParameters

Action déconseillée. Défini sur 0 (zéro).

grbit

Groupe de bits spécifiant zéro ou plusieurs des options suivantes.

Valeur

Signification

JET_bitTableDenyRead

La table ne peut pas être ouverte pour un accès en lecture par une autre session de base de données.

JET_bitTableDenyWrite

La table ne peut pas être ouverte pour un accès en écriture par une autre session de base de données.

JET_bitTableNoCache

Ne mettez pas en cache les pages pour cette table.

JET_bitTablePermitDDL

Autorise la modification DDL sur les tables marquées comme FixedDDL. Cette option doit être utilisée avec l’option JET_bitTableDenyRead.

JET_bitTablePreread

Indique que la table n’est probablement pas dans le cache des tampons, et que la prélecture peut être bénéfique pour les performances.

JET_bitTableReadOnly

Demande l’accès en lecture seule à la table.

JET_bitTableSequential

La table doit être préextraite très agressivement du disque, car l’application l’analyse de manière séquentielle.

JET_bitTableUpdatable

Demande l’accès en écriture à la table.

pTableID

En cas de réussite, pointe vers l’identificateur de la table. En cas d’échec, le contenu de pTableID n’est pas défini.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. pour plus d’informations sur les erreurs ESE possibles, consultez erreurs du moteur de Stockage Extensible et paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errInvalidDatabaseId

dbid n’est pas un identificateur de base de données valide.

JET_errInvalidgrbit

Une combinaison incorrecte de Grbit a été transmise.

JET_errInvalidName

Le nom donné dans szTableName n’est pas valide.

Pour plus d’informations sur les noms de table valides, consultez le paramètre szTableName dans JetCreateTable.

JET_errObjectNotFound

Une tentative d’ouverture d’une table qui n’existe pas dans la base de données a été effectuée.

JET_errOutOfCursors

L’opération a échoué, car le moteur ne peut pas allouer les ressources requises pour ouvrir un nouveau curseur. Consultez la section Notes.

JET_errTableInUse

La table est utilisée par une autre opération de base de données.

JET_wrnTableInUseBySystem

AVERTISSEMENT récupérable indiquant que la table est en cours d’utilisation par le système.

JET_errTableLocked

La table est verrouillée par une autre opération de base de données.

JET_errTooManyOpenTables

Tentative d’ouverture d’un trop grand nombre de tables uniques à la fois. Consultez la section Notes.

Notes

Les tables ouvertes avec JetOpenTable doivent généralement être fermées avec JetCloseTable. L’exception à cette règle se produit lorsque JetOpenTable est appelé dans une transaction et que la transaction est restaurée (avec JetRollback). Lors de la restauration d’une transaction, la table est fermée automatiquement. Dans ce cas, il s’agit d’une erreur de fermeture de la table avec JetCloseTable.

Il est légal d’ouvrir des tables système avec JetOpenTable (par exemple, MSysObjects, MSysUnicodeFixup). Le schéma des tables système peut changer. par conséquent, l’accès aux tables système est déconseillé. Le nombre de tables uniques qui peuvent être ouvertes simultanément est directement affecté par JET_paramMaxOpenTables. Si la table est actuellement ouverte, un nouveau curseur sera créé sur la table. Les ressources de curseur sont configurées à l’aide de JetSetSystemParameter avec JET_paramMaxCursors. Voir aussi JetDupCursor.

Spécifications

Condition requise Valeur

Client

requiert Windows Vista, Windows XP ou Windows 2000 Professional.

Serveur

nécessite Windows server 2008, Windows server 2003 ou Windows 2000 server.

En-tête

Déclaré dans esent. h.

Bibliothèque

Utilisez ESENT. lib.

DLL

Requiert ESENT.dll.

Unicode

Implémenté en tant que JetOpenTableW (Unicode) et JetOpenTableA (ANSI).

Voir aussi

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
Paramètres de ressource