Metodo OpenSchema

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. QueryType determina le colonne visualizzate nell'oggetto Recordset.

Parametri

QueryType
Qualsiasi valore SchemaEnum che rappresenta il tipo di query dello schema da eseguire.

Criteri
facoltativo. Matrice di vincoli di query per ogni opzione QueryType, come elencato in SchemaEnum.

SchemaID
GUID per una query provider-schema non definito dalla OLE DB specifica. Questo parametro è obbligatorio se QueryType è impostato su adSchemaProviderSpecific; in caso contrario, non viene usato.

Commenti

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 OLE DB specifica include un elenco completo di schemi.

L'argomento Criteri limita i risultati di una query sullo schema. Criteri specifica una matrice di valori che devono essere presenti in un subset di colonne corrispondente, denominato colonne di vincolo, nell'oggetto Recordset risultante.

La costante adSchemaProviderSpecific viene usata per l'argomento QueryType se il provider definisce le proprie query di schema non standard al di fuori di quelle elencate in precedenza. Quando si usa questa costante, l'argomento SchemaID è necessario per passare il GUID della query dello schema da eseguire. Se QueryType è impostato su adSchemaProviderSpecific ma SchemaID non viene specificato, verrà restituito un errore.

I provider non sono necessari per supportare tutte le OLE DB di schema standard. In particolare, solo adSchemaTables, adSchemaColumns e adSchemaProviderTypes sono richiesti dalla OLE DB specifica. 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 sul lato client.

Nota

In Visual Basic, le colonne con un intero senza segno a quattro byte (DBTYPE UI4) nel recordset restituito dal metodo OpenSchema nell'oggetto Connection non possono essere confrontate con altre variabili. Per altre informazioni sui OLE DB dati, vedere Tipi di dati in OLE DB (OLE DB) e Appendice A: Tipi di dati in Microsoft OLE DB Programmer's Reference.)

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 era VT_I4. I programmi scritti per MDAC 2.6 che cercano solo una variante restituita di tipo VT_I4 otterrà 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 VT_I4 con segno non c'è spazio sufficiente per contenere tutti i valori possibili senza che si verifichi un troncamento, causando una perdita di dati.

Si applica a

Oggetto Connection (ADO)

Vedere anche

Esempio di metodo OpenSchema (VB)
Esempio del metodo OpenSchema (VC++)
Metodo Open (connessione ADO)
Metodo Open (record ADO)
Metodo Open (recordset ADO)
Metodo Open (flusso ADO)
Appendice A: Provider