OpenSchema, metodo
Ottiene le informazioni sullo schema del database dal provider.
Sintassi
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)
Valore restituito
Restituisce un oggetto Recordset che contiene informazioni sullo schema. Il recordset verrà aperto come cursore statico di sola lettura. Il QueryType determina le colonne visualizzate nell'oggetto Recordset .
Parametri
QueryType
Qualsiasi schemaEnum valore che rappresenta il tipo di query dello schema da eseguire.
criteri
Opzionale. Matrice di vincoli di query per ogni opzione QueryType, come indicato in SchemaEnum.
schemaID
GUID per una query dello schema del provider non definita dalla specifica OLE DB. Questo parametro è obbligatorio se QueryType è impostato su adSchemaProviderSpecific; in caso contrario, non viene usato.
Osservazioni
Il metodo OpenSchema restituisce informazioni auto-descrittive sull'origine dati, ad esempio le tabelle presenti nell'origine dati, le colonne nelle tabelle e i tipi di dati supportati.
L'argomento QueryType è un GUID che indica le colonne (schemi) restituite. La specifica OLE DB include un elenco completo degli schemi.
L'argomento Criteri di limita i risultati di una query dello schema. Criteri specifica una matrice di valori che devono verificarsi in un subset corrispondente di colonne, denominate colonne di vincolo, nell'Recordset risultante.
La costante adSchemaProviderSpecific viene usata per l'argomento QueryType se il provider definisce le proprie query dello schema non standard all'esterno di quelle elencate in precedenza. Quando si usa questa costante, è necessario argomento SchemaID per passare il GUID della query dello schema da eseguire. Se QueryType è impostato su adSchemaProviderSpecific, ma non viene specificato schemaID, verrà generato un errore.
I provider non sono necessari per supportare tutte le query dello schema standard OLE DB. In particolare, solo adSchemaTables, adSchemaColumnse adSchemaProviderTypes sono richiesti dalla specifica OLE DB. Tuttavia, il provider non è necessario per supportare i vincoli criteri elencati in precedenza per tali query dello schema.
Nota
'utilizzo del servizio dati remoto Il metodo OpenSchema non è disponibile in un oggetto connection lato client.
Nota
In Visual Basic le colonne con un intero senza segno a quattro byte (DBTYPE UI4) nell'oggetto Recordset restituito dal metodo OpenSchema nell'oggetto Connection non possono essere confrontate con altre variabili. Per altre informazioni sui tipi di dati OLE DB, vedere tipi di dati in OLE DB (OLE DB) e Appendice A: Tipi di dati nella Guida di riferimento per programmatori Microsoft OLE DB.
Nota
Utenti di Visual C/C++ Quando non si usano cursori sul lato client, il recupero del "ORDINAL_POSITION" di uno schema di colonna in ADO restituisce una variante di tipo VT_R8 in MDAC 2.7, MDAC 2.8 e Windows Data Access Components (Windows DAC) 6.0, mentre il tipo usato in MDAC 2.6 è stato VT_I4. I programmi scritti per MDAC 2.6 che cercano solo una variante restituita di tipo VT_I4 otterrebbero uno zero per ogni ordinale se eseguito in MDAC 2.7, MDAC 2.8 e Windows DAC 6.0 senza modifiche. Questa modifica è stata apportata perché il tipo di dati restituito da OLE DB è DBTYPE_UI4 e nel tipo di VT_I4 firmato non è disponibile spazio sufficiente per contenere tutti i valori possibili senza che si verifichi un troncamento e causando quindi una perdita di dati.
Si applica a
Vedere anche
esempio di metodo OpenSchema (VB)
esempio di metodo OpenSchema (VC++)
metodo Open (connessione ADO)
metodo open (record ADO)
metodo Open (ADO Recordset)
metodo Open (flusso ADO)
Appendice A: Provider