Partager via


OpenSchema, méthode

Obtient les informations de schéma de base de données 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 Recordset est ouvert en tant que curseur statique en lecture seule. QueryType détermine les colonnes qui apparaissent dans le Recordset.

Paramètres

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

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

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

Notes

La méthode OpenSchema retourne des informations auto-descriptives sur la source de données, telles que les tables figurant 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 Criteria limite les résultats d’une requête de schéma. Criteria spécifie un tableau de valeurs qui doivent se produire dans un sous-ensemble de colonnes correspondant, appelé colonnes de contrainte, dans le Recordset 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 requis 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 requis pour prendre en charge toutes les requêtes de schéma standard OLE DB. Plus précisément, seuls adSchemaTables, adSchemaColumns et adSchemaProviderTypes sont requis par la spécification OLE DB. Toutefois, le fournisseur n’est pas nécessaire pour prendre en charge les contraintes Criteria répertoriées précédemment pour ces requêtes de schéma.

Notes

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

Notes

Dans Visual Basic, les colonnes qui ont un entier non signé à quatre octets (DBTYPE UI4) dans le Recordset retourné à partir de 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.

Notes

Utilisateurs Visual C/C++ Lorsque vous n’utilisez pas de curseurs côté client, la récupération de l’élément « 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 si exécuté 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 donc causer une perte de données.

S'applique à

Connection, objet (ADO)

Voir aussi

OpenSchema, exemple de méthode (VB)
OpenSchema, exemple de méthode (VC++)
Open, méthode (objet Connection ADO)
Open, méthode (objet Record ADO)
Open, méthode (objet Recordset ADO)
Open, méthode (Stream ADO)
Annexe A : Fournisseurs