Partager via


OpenSchema, méthode

Obtient les informations de schéma de base de données auprès du fournisseur.

Syntaxe

  
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)  

Valeur de retour

Retourne un objet Recordset qui contient des informations de schéma. Le jeu d’enregistrements est ouvert en tant que curseur statique en lecture seule. Le QueryType détermine les colonnes qui apparaissent dans le jeu d’enregistrements .

Paramètres

QueryType
Tout SchemaEnum valeur qui représente le type de requête de schéma à exécuter.

critères
Optionnel. Tableau de contraintes de requête pour chaque option QueryType, comme indiqué dans SchemaEnum.

SchemaID
GUID d’une requête de schéma de fournisseur non définie par la spécification OLE DB. Ce paramètre est requis si QueryType est défini sur adSchemaProviderSpecific; sinon, elle n’est pas utilisée.

Remarques

La méthode OpenSchema retourne des informations auto-descriptives sur la source de données, telles que les tables qui se trouvent dans la source de données, les colonnes des tables et les types de données pris en charge.

L’argument QueryType est un GUID qui indique les colonnes (schémas) retournées. La spécification OLE DB contient une liste complète de schémas.

L’argument Critères limite les résultats d’une requête de schéma. Critères spécifie un tableau de valeurs qui doivent se produire dans un sous-ensemble de colonnes correspondant, appelé colonnes de contrainte, dans le jeu d’enregistrements résultant.

La constante adSchemaProviderSpecific est utilisée pour l’argument QueryType si le fournisseur définit ses propres requêtes de schéma non standard en dehors de celles répertoriées précédemment. Lorsque cette constante est utilisée, l’argument SchemaID est nécessaire pour passer le GUID de la requête de schéma à exécuter. Si QueryType est défini sur adSchemaProviderSpecific, mais SchemaID n’est pas fourni, une erreur se produit.

Les fournisseurs ne sont pas nécessaires pour prendre en charge toutes les requêtes de schéma standard OLE DB. Plus précisément, seuls adSchemaTables, adSchemaColumnset adSchemaProviderTypes sont requis par la spécification OLE DB. Toutefois, le fournisseur n’est pas tenu de prendre en charge les contraintes Critères répertoriées précédemment pour ces requêtes de schéma.

Note

utilisation du service de données à distance La méthode OpenSchema n’est pas disponible sur un objet Connection côté client.

Note

Dans Visual Basic, les colonnes qui ont un entier non signé de quatre octets (DBTYPE UI4) dans le jeu d’enregistrements retournés par la méthode OpenSchema sur l’objet Connection ne peuvent pas être comparées à d’autres variables. Pour plus d’informations sur les types de données OLE DB, consultez types de données dans OLE DB (OLE DB) et Annexe A : Types de données dans la référence du programmeur Microsoft OLE DB.

Note

Utilisateurs Visual C/C++ Lorsque vous n’utilisez pas de curseurs côté client, la récupération du « ORDINAL_POSITION » d’un schéma de colonne dans ADO retourne une variante de type VT_R8 dans MDAC 2.7, MDAC 2.8 et Windows Data Access Components (Windows DAC) 6.0, tandis que le type utilisé dans MDAC 2.6 était VT_I4. Les programmes écrits pour MDAC 2.6 qui recherchent uniquement une variante retournée de type VT_I4 obtiendraient un zéro pour chaque ordinal s’ils s’exécutent sous MDAC 2.7, MDAC 2.8 et Windows DAC 6.0 sans modification. Cette modification a été apportée, car le type de données retourné par OLE DB est DBTYPE_UI4, et dans le type de VT_I4 signé, il n’y a pas suffisamment de place pour contenir toutes les valeurs possibles sans éventuellement tronquer et entraîner ainsi une perte de données.

S’applique à

Connection Object (ADO)

Voir aussi

méthode OpenSchema, exemple (VB)
OpenSchema, méthode - Exemple (VC++)
Open, méthode (connexion ADO)
méthode Open (ADO Record)
Open, méthode (jeu d’enregistrements ADO)
Open, méthode (flux ADO)
Annexe A : Fournisseurs