Raccolte di schemi comuni per il file system host

La raccolta di schemi comune è la raccolta di schemi implementata dall'Provider gestito per i file host. È possibile eseguire una query sul provider gestito per determinare l'elenco di raccolte di schemi GetSchema supportate chiamando il metodo senza argomenti o con il nome della raccolta di schemi "MetaDataCollections". Verrà restituito un DataTable oggetto con un elenco delle raccolte di schemi supportate, il numero di restrizioni supportate da ognuna di esse e il numero di parti dell'identificatore usate.

Le tabelle seguenti descrivono le raccolte di schemi comuni per il file system host.

Colonne

Nome colonna Tipo di dati Descrizione
table_catalog string Catalogo della tabella.
table_schema string Schema contenente la tabella.
table_name string Nome della tabella.
column_name string Nome colonna.
ordinal_position Int16 Numero di identificazione della colonna.
column_default string Il valore predefinito della colonna.
is_nullable string Impostazione relativa al supporto di valori Null nella colonna. Se la colonna supporta i valori NULL, restituisce YES. In caso contrario, restituisce NO.
data_type string Tipo di dati di sistema.
character_maximum_length Int32 – Sql8, Int16 – Sql7 Lunghezza massima espressa in caratteri per i dati di tipo binario, carattere, text o image. Per gli altri tipi di dati viene restituito NULL.
character_octet_length Int32 – SQL8, Int16 – Sql7 Lunghezza massima espressa in byte per i dati di tipo binario, carattere, text o image. Per gli altri tipi di dati viene restituito NULL.
numeric_precision Unsigned Byte Precisione dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL.
numeric_precision_radix Int16 Base di precisione dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL.
numeric_scale Int32 Scala dei dati numerici approssimati, dei dati numerici esatti, dei dati integer o dei dati in valuta. Per gli altri tipi di dati viene restituito NULL.
datetime_precision Int16 Codice di sottotipo per i tipi di dati SQL-92 datetime e interval. Per gli altri tipi di dati viene restituito NULL.
character_set_catalog string Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui è posizionato il set di caratteri. Per gli altri tipi di dati viene restituito NULL.
character_set_schema string Viene restituito sempre NULL.
character_set_name string Se la colonna presenta un tipo di dati carattere o testo, viene restituito il nome univoco del set di caratteri. Per gli altri tipi di dati viene restituito NULL.
collation_catalog string Se la colonna presenta un tipo di dati carattere o testo, viene restituito master, che indica il database in cui sono definite le regole di confronto. Negli altri casi la colonna è NULL.

DataSourceInformation

Nome Tipo Descrizione
CompositeIdentifierSeparatorPattern string L'espressione regolare che corrisponde ai separatori compositi in un identificatore composito. Ad esempio, “\.” (per SQL Server) o “@|\.” (per Oracle).
Un identificatore composito è in genere quello usato per il nome di un oggetto di database, ad esempio pubs.dbo.authors o pubs@dbo.authors.
Per SQL Server, utilizzare l'espressione regolare “\.”. Per OracleClient, utilizzare “@|\.”.
Per OLE DB, usare DBLITERAL_CATALOG_SEPARATOR o DBLITERAL_SCHEMA_SEPARATOR.
DataSourceProductName string Il nome del prodotto a cui ha avuto accesso il provider, come "Oracle" o "SQLServer".
DataSourceProductVersion string Versione del prodotto a cui accede il provider, nel formato nativo delle origini dati e non in formato Microsoft.
In alcuni casi DataSourceProductVersion e DataSourceProductVersionNormalized hanno lo stesso valore. Con OLE DB, questi sono sempre gli stessi perché sono mappati alla stessa chiamata di funzione nell'API nativa sottostante.
DataSourceProductVersionNormalized string Una versione normalizzata per l'origine dati, che è possibile confrontare con String.Compare(). Il formato è lo stesso in tutte le versioni del provider per evitare che la versione 10 venga elencata tra la versione 1 e la versione 2.
Ad esempio, il provider Oracle utilizza il formato “nn.nn.nn.nn.nn” per la versione normalizzata. Ciò fa sì che da un'origine dati Oracle 8i venga restituito il valore “08.01.07.04.01”. SQL Server utilizza il formato “nn.nn.nnnn” tipico di Microsoft.
In alcuni casi DataSourceProductVersion e DataSourceProductVersionNormalized corrisponderanno allo stesso valore. Nel caso di OLE DB, questi saranno sempre gli stessi di cui è stato eseguito il mapping alla stessa chiamata di funzione nell'API nativa sottostante.
GroupByBehavior GroupByBehavior Specifica il rapporto tra le colonne nella clausola GROUP BY e le colonne non aggregate nell'elenco di selezione.
IdentifierPattern string Un'espressione regolare che corrisponde a un identificatore e dispone di un valore di corrispondenza dell'identificatore. Ad esempio "[A-Za-z0-9_#$]".
IdentifierCase IdentifierCase Indica se gli identificatori non racchiusi tra virgolette vengono considerati come identificatori con distinzione tra maiuscole e minuscole.
OrderByColumnsInSelect bool Specifica se le colonne nella clausola ORDER BY devono essere presenti nell'elenco di selezione. Il valore true indica che le colonne devono risultare nell'elenco di selezione, mentre il valore false indica che non è necessario.
ParameterMarkerFormat string Una stringa di formato che rappresenta la modalità di formattazione di un parametro.
Se i parametri denominati sono supportati dall'origine dati, il primo segnalibro di questa stringa deve trovarsi nella posizione in cui verrà formattato il nome del parametro.
Ad esempio, se l'origine dati prevede che i parametri siano denominati e preceduti da ':', sarà ":{0}". Quando si esegue la formattazione con un nome di parametro di “p1” la stringa risultante sarà “:p1”.
Se l'origine dati prevede che i parametri siano preceduti da '@', ma i nomi li includono già, sarà '{0}' e il risultato della formattazione di un parametro denominato "@p1" sarà semplicemente "@p1".
Per le origini dati che non prevedono parametri denominati e prevedono l'uso di '?' , la stringa di formato può essere specificata semplicemente come '?', che ignorerebbe il nome del parametro. Per OLE DB viene restituito‘?’.
ParameterMarkerPattern string Un'espressione regolare che corrisponde al marcatore di parametro. Ha un valore corrispondente al nome del parametro, se presente.
Se ad esempio i parametri denominati sono supportati con un carattere "@" principale incluso nel nome del parametro, il risultato sarà: "(@[A-Za-z0-9_$#]*)".
Se tuttavia i parametri denominati sono supportati con un carattere ":" principale non incluso nel nome del parametro, il risultato sarà: ":([A-Za-z0-9_$#]*)".
Naturalmente, se l'origine dati non supporta parametri denominati, si tratta semplicemente di "?".
ParameterNameMaxLength INT La lunghezza massima del nome del parametro in caratteri. In Visual Studio si presuppone che se i nomi di parametri sono supportati, il valore minimo per la lunghezza massima corrisponderà a 30 caratteri.
Se l'origine dati non supporta i parametri denominati, questa proprietà restituisce zero.
ParameterNamePattern string Un'espressione regolare che corrisponde ai nomi di parametro validi. Origini dati diverse hanno regole diverse per i caratteri che è possibile usare con i nomi di parametro.
In Visual Studio si presuppone che se sono supportati i nomi di parametro, i caratteri "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" rappresentano il set di caratteri minimo supportato, valido per i nomi di parametro.
QuotedIdentifierPattern string Un'espressione regolare che corrisponde a un identificatore delimitato e dispone di un valore di corrispondenza dell'identificatore senza virgolette. Ad esempio, se l'origine dati usa le virgolette doppie per identificare gli identificatori tra virgolette, sarà: "(([^\"]|\"\")*)".
QuotedIdentifierCase IdentifierCase Indica se gli identificatori tra virgolette vengono considerati come identificatori con distinzione tra maiuscole e minuscole.
StatementSeparatorPattern string Un'espressione regolare che corrisponde al separatore di istruzione.
StringLiteralPattern string Un'espressione regolare che corrisponde a una stringa letterale e dispone di un valore di corrispondenza del valore letterale. Se ad esempio l'origine dati ha usato le virgolette singole per identificare le stringhe, il risultato sarà: "('([^']|'')*')"'.
SupportedJoinOperators SupportedJoinOperators Specifica i tipi di istruzioni join di SQL supportati dall'origine dati.

DataTypes

Nome colonna Tipo di dati Descrizione
TypeName string Il nome del tipo di dati specifico del provider.
ProviderDbType INT Il tipo di valore specifico del provider da usare quando si specifica un tipo di parametro. Ad esempio, SqlDbType.Money o OracleType.Blob.
ColumnSize long La lunghezza di una colonna o di un parametro non numerico fa riferimento alla lunghezza massima o definita per questo tipo dal provider.
Per i dati di tipo carattere, rappresenta la lunghezza massima o definita in unità, definita dall'origine dati. In Oracle è possibile specificare una lunghezza, quindi la dimensione della memoria effettiva per determinati tipi di dati carattere. Ciò consente di definire solo la lunghezza in unità per Oracle.
Per i tipi di dati data-ora, rappresenta la lunghezza della rappresentazione stringa (se si suppone la massima precisione consentita del componente in frazioni di secondo).
Se il tipo di dati è numerico, rappresenta il limite superiore sulla massima precisione del tipo di dati.
CreateFormat string Stringa di formato che indica come aggiungere la colonna a un'istruzione di definizione dei dati, come CREATE TABLE. Ogni elemento nella matrice CreateParameter deve essere rappresentato da un "marcatore di parametro" nella stringa di formato.
Ad esempio, per il tipo di dati SQL DECIMAL sono necessarie una precisione e una scala. In questo caso, la stringa di formato sarà "DECIMAL({0},{1})".
CreateParameters string I parametri di creazione da specificare durante la creazione di una colonna di questo tipo di dati. Ciascun parametro di creazione viene elencato nella stringa, separato da una virgola nell'ordine in cui deve essere fornito.
Ad esempio, per il tipo di dati SQL DECIMAL sono necessarie una precisione e una scala. In questo caso, i parametri di creazione devono contenere la stringa "precision, scale".
In un comando di testo per creare una colonna DECIMAL con una precisione pari a 10 e una scala pari a 2, il valore della colonna CreateFormat potrebbe essere DECIMAL({0},{1})" e la specifica completa del tipo sarebbe DECIMAL(10,2).
DataType string Il nome del tipo di dati .NET Framework.
IsAutoincrementable bool true: i valori di questo tipo di dati possono essere a incremento automatico.
false: i valori di questo tipo di dati potrebbero non essere incrementi automatici.
Notare che anche se una colonna di questo tipo di dati può essere a incremento automatico, non significa che tutte le colonne di questo tipo lo siano.
IsBestMatch Bool true: il tipo di dati è la corrispondenza migliore tra tutti i tipi di dati nell'archivio dati e il tipo di dati .NET Framework indicato dal valore nella colonna DataType.
false: il tipo di dati non è la corrispondenza migliore.
Per ciascun set di righe in cui il valore della colonna DataType è lo stesso, la colonna IsBestMatch è impostata su true in una sola riga.
IsCaseSensitive bool true: il tipo di dati è un tipo di carattere e fa distinzione tra maiuscole e minuscole.

false: il tipo di dati non è un tipo di carattere o non fa distinzione tra maiuscole e minuscole.
IsFixedLength bool true: le colonne di questo tipo di dati create dal linguaggio DDL (Data Definition Language) sono di lunghezza fissa.

false: le colonne di questo tipo di dati create dal DDL sono di lunghezza variabile.

DBNull.Value: non è noto se il provider esegue il mapping di questo campo con una colonna a lunghezza fissa o a lunghezza variabile.
IsFixedPrecisionScale bool true: il tipo di dati ha una precisione e una scala fisse.

false: il tipo di dati non ha una precisione e una scala fisse.
IsLong bool true: il tipo di dati contiene dati molto lunghi. la definizione di dati molto lunghi è specifica del provider.

false: il tipo di dati non contiene dati molto lunghi.
IsNullable bool true: il tipo di dati ammette i valori Null.

false: il tipo di dati non ammette valori Null.

DBNull.Value: non è noto se il tipo di dati ammette valori Null.
IsSearchable bool true: il tipo di dati può essere usato in una clausola WHERE con qualsiasi operatore ad eccezione del predicato LIKE.

false: il tipo di dati non può essere usato in una clausola WHERE con qualsiasi operatore, ad eccezione del predicato LIKE.
IsSearchableWithLike bool true: il tipo di dati può essere usato con il predicato LIKE.

false: il tipo di dati non può essere usato con il predicato LIKE.
IsUnsigned bool true: il tipo di dati è senza segno.

false: il tipo di dati è firmato.

DBNull.Value: non applicabile al tipo di dati.
MaximumScale short Se l'indicatore di tipo è numerico, corrisponde al numero massimo di cifre consentito a destra del separatore decimale. In caso contrario, si tratta di DBNull.Value.
MinimumScale short Se l'indicatore di tipo è numerico, corrisponde al numero minimo di cifre consentito a destra del separatore decimale. In caso contrario, si tratta di DBNull.Value.
IsConcurrencyType bool true: il tipo di dati viene aggiornato dal database ogni volta che la riga viene modificata e il valore della colonna è diverso da tutti i valori precedenti

false- Il tipo di dati viene aggiornato dal database ogni volta che la riga viene modificata

DBNull.Value: il database non supporta questo tipo di dati.
IsLiteralsSupported bool true: il tipo di dati può essere espresso come valore letterale.

false- Il tipo di dati non può essere espresso come valore letterale.
LiteralPrefix string Il prefisso applicato a un dato valore letterale.
LitteralSuffix string Il suffisso applicato a un dato valore letterale.
NativeDataType string Colonna OLE DB specifica per l'esposizione del OLE DB tipo di dati .

MetaDataCollections

Nome colonna Tipo di dati Descrizione
CollectionName string Nome della raccolta da passare al metodo per GetSchema restituire la raccolta.
NumberOfRestriction int Numero di restrizioni che è possibile specificare per la raccolta.
NumberOfIdentifierParts INT Il numero di parti nel nome dell'oggetto di database/identificatore composito. Ad esempio, in SQL Server 3 corrisponde alle tabelle e 4 alle colonne. In Oracle 2 corrisponde alle tabelle e 3 alle colonne.

Restrizioni

Nome colonna Tipo di dati Descrizione
CollectionName string Il nome della raccolta a cui sono applicate queste restrizioni.
RestrictionName string Il nome della restrizione nella raccolta.
RestrictionDefault string Ignorato.
RestrictionNumber INT La posizione effettiva nelle restrizioni delle raccolte in cui rientra questa particolare restrizione.

Tabelle

Nome colonna Tipo di dati Descrizione
table_catalog string Catalogo della tabella.
table_schema string Schema contenente la tabella.
table_name string Nome della tabella.
table_type string Tipo di tabella. I possibili valori sono VIEW o BASE TABLE.

Esempio

Vedere anche

Ottenere informazioni sugli schemi dal file system host
Adattatore BizTalk per la configurazione di file host