OpenSchema-Methode
Ruft Datenbankschemainformationen vom Anbieter ab.
Syntax
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)
Rückgabewert
Gibt ein Recordset -Objekt zurück, das Schemainformationen enthält. Das Recordset- wird als schreibgeschützter, statischer Cursor geöffnet. Die QueryType- bestimmt, welche Spalten im Recordset-angezeigt werden.
Parameter
QueryType-
Jeder SchemaEnum- Wert, der den Typ der auszuführenden Schemaabfrage darstellt.
Kriterien
Wahlfrei. Ein Array von Abfrageeinschränkungen für jede QueryType--Option, wie in SchemaEnumaufgeführt.
SchemaID-
Die GUID für eine Anbieterschemaabfrage, die nicht durch die OLE DB-Spezifikation definiert ist. Dieser Parameter ist erforderlich, wenn QueryType- auf adSchemaProviderSpecificfestgelegt ist; andernfalls wird sie nicht verwendet.
Bemerkungen
Die OpenSchema--Methode gibt selbstdeskriptive Informationen zur Datenquelle zurück, z. B. welche Tabellen in der Datenquelle enthalten sind, die Spalten in den Tabellen und die unterstützten Datentypen.
Das argument QueryType ist eine GUID, die die zurückgegebenen Spalten (Schemas) angibt. Die OLE DB-Spezifikation enthält eine vollständige Liste von Schemas.
Die Kriterien Argument schränkt die Ergebnisse einer Schemaabfrage ein. Criteria gibt ein Array von Werten an, die in einer entsprechenden Teilmenge von Spalten auftreten müssen, die als Einschränkungsspalten bezeichnet werden, im resultierenden Recordset-.
Die Konstante adSchemaProviderSpecific wird für das argument QueryType verwendet, wenn der Anbieter seine eigenen nicht standardmäßigen Schemaabfragen außerhalb der zuvor aufgeführten definiert. Wenn diese Konstante verwendet wird, ist das SchemaID Argument erforderlich, um die GUID der auszuführenden Schemaabfrage zu übergeben. Wenn QueryType- auf adSchemaProviderSpecific festgelegt ist, aber SchemaID- nicht angegeben wird, tritt ein Fehler auf.
Anbieter sind nicht erforderlich, um alle OLE DB-Standardschemaabfragen zu unterstützen. Insbesondere werden nur adSchemaTables, adSchemaColumnsund adSchemaProviderTypes von der OLE DB-Spezifikation benötigt. Der Anbieter ist jedoch nicht erforderlich, um die zuvor für diese Schemaabfragen aufgeführten Kriterien Einschränkungen zu unterstützen.
Anmerkung
Remote Data Service Usage Die OpenSchema--Methode ist für ein clientseitiges Connection-Objekt nicht verfügbar.
Anmerkung
In Visual Basic können Spalten mit einer nicht signierten ganzzahligen Zahl (DBTYPE UI4) im Recordset, die von der OpenSchema--Methode für das Connection-Objekt zurückgegeben werden, nicht mit anderen Variablen verglichen werden. Weitere Informationen zu OLE DB-Datentypen finden Sie unter Datentypen in OLE DB (OLE DB) und Anhang A: Datentypen in der Microsoft OLE DB-Programmierreferenz.
Anmerkung
Visual C/C++-Benutzer Wenn keine clientseitigen Cursor verwendet werden, gibt das Abrufen des "ORDINAL_POSITION" eines Spaltenschemas in ADO eine Variante vom Typ VT_R8 in MDAC 2.7, MDAC 2.8 und Windows Data Access Components (Windows DAC) 6.0 zurück, während der in MDAC 2.6 verwendete Typ VT_I4 wurde. Programme, die für MDAC 2.6 geschrieben wurden, die nur nach einer Variante suchen, die vom Typ VT_I4 zurückgegeben wird, erhalten für jedes Ordinal eine Null, wenn sie ohne Änderung unter MDAC 2.7, MDAC 2.8 und Windows DAC 6.0 ausgeführt werden. Diese Änderung wurde vorgenommen, da der von OLE DB zurückgegebene Datentyp DBTYPE_UI4 ist und im signierten VT_I4 Typ nicht genügend Platz für alle möglichen Werte vorhanden ist, ohne möglicherweise abgeschnitten zu werden und dadurch einen Datenverlust zu verursachen.
Gilt für
Siehe auch
OpenSchema-Methode (Beispiel) (VB)
OpenSchema-Methode (Beispiel) (VC++)
Open-Methode (ADO-Verbindung)
Open-Methode (ADO Record)
Open-Methode (ADO-Recordset)
Open-Methode (ADO Stream)
Anhang A: Anbieter