Fonction JetOpenTable
S’applique à : Windows | Windows Server
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 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. Définissez sur 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 l’accès en lecture par une autre session de base de données. |
JET_bitTableDenyWrite |
La table ne peut pas être ouverte pour l’accès en écriture par une autre session de base de données. |
JET_bitTableNoCache |
Ne mettez pas en cache les pages de 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 |
Fournit un indicateur indiquant que la table ne se trouve probablement pas dans le cache de mémoire tampon et que la pré-lecture peut être bénéfique pour les performances. |
JET_bitTableReadOnly |
Demande un accès en lecture seule à la table. |
JET_bitTableSequential |
La table doit être prérécupérée de manière très agressive à partir du disque, car l’application l’analysera séquentiellement. |
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 mauvaise combinaison de grbit a été passée. |
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 nécessaires 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 non fatal indiquant que la table est utilisée par le système. |
JET_errTableLocked |
La table est verrouillée par une autre opération de base de données. |
JET_errTooManyOpenTables |
Une tentative d’ouverture d’un trop grand nombre de tables uniques à la fois a été effectuée. 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 automatiquement fermée. Dans ce cas, la fermeture de la table avec JetCloseTable est une erreur.
Il est légal d’ouvrir des tables système avec JetOpenTable (par exemple, MSysObjects, MSysUnicodeFixup). Le schéma des tables système étant susceptible de changer, 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 est créé sur la table. Les ressources de curseur sont configurées à l’aide de JetSetSystemParameter avec JET_paramMaxCursors. Consultez également JetDupCursor.
Spécifications
Condition requise | Valeur |
---|---|
Client |
Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel. |
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 |
Nécessite 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