Freigeben über


Allgemeine Schemaauflistungen für das Hostdateisystem

Die allgemeine Schemaauflistung ist die Schemaauflistung, die vom Managed Provider für Hostdateien implementiert wird. Sie können den verwaltenden Anbieter anfragen, um die Liste der unterstützten Schemasammlungen zu ermitteln. Rufen Sie hierzu die GetSchema-Methode ohne Argumente oder mit dem Schemasammlungsnamen „MetaDataCollections“ auf. Dadurch wird eine DataTable Liste der unterstützten Schemaauflistungen, der Anzahl der von diesen Schemaauflistungen unterstützten Einschränkungen und der Anzahl der von diesen Schemaauflistungen verwendeten Bezeichnerteilen ausgegeben.

In den folgenden Tabellen werden die allgemeinen Schemaauflistungen für das Hostdateisystem beschrieben.

Spalten

Spaltenname Datentyp Beschreibung
table_catalog String Katalog der Tabelle.
table_schema String Schema, das die Tabelle enthält.
table_name String Tabellenname.
column_name String Spaltenname.
ordinal_position Int16 Identifikationsnummer der Spalte
column_default String Standardwert der Spalte
is_nullable String NULL-Zulässigkeit der Spalte. Wenn diese Spalte NULL zulässt, gibt die Spalte YES zurück. Andernfalls wird NO zurückgegeben.
data_type String Vom System bereitgestellter Datentyp
character_maximum_length Int32 – Sql8, Int16 – Sql7 Maximale Länge (in Zeichen) für binäre Daten, Zeichendaten, Text- und Tmage-Daten Andernfalls wird NULL zurückgegeben.
character_octet_length Int32 – SQL8, Int16 – Sql7 Maximale Länge (in Bytes) für binäre Daten, Zeichendaten, Text- und Image-Daten. Andernfalls wird NULL zurückgegeben.
numeric_precision Byte ohne Vorzeichen Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
numeric_precision_radix Int16 Basis der Genauigkeit für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
numeric_scale Int32 Anzahl der Dezimalstellen für Spalten mit ungefähren numerischen Daten, exakten numerischen Daten, ganzzahligen Daten oder Währungsdaten. Andernfalls wird NULL zurückgegeben.
datetime_precision Int16 Untertypcode für den datetime-Datentyp und den SQL-92-Datentyp interval. Für andere Datentypen wird NULL zurückgegeben.
character_set_catalog String Gibt "master" zurück, wodurch die Datenbank angegeben wird, in der der Zeichensatz enthalten ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
character_set_schema String Gibt immer NULL zurück.
character_set_name String Gibt den eindeutigen Namen für den Zeichensatz zurück, wenn diese Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls wird NULL zurückgegeben.
collation_catalog String Gibt master zurück, wodurch die Datenbank angegeben wird, in der die Sortierung definiert ist, wenn die Spalte den Typ Zeichendaten oder Textdaten aufweist. Andernfalls ist diese Spalte NULL.

DataSourceInformation

Name Typ BESCHREIBUNG
CompositeIdentifierSeparatorPattern Zeichenfolge Der reguläre Ausdruck, der den Trennzeichen zum Trennen der Bestandteile in einem zusammengesetzten Bezeichner entspricht. Beispiel: "\." (für SQL Server) oder "@|\." (für Oracle).
Ein zusammengesetzter Bezeichner wird in der Regel für einen Datenbankobjektnamen verwendet, z. B. „pubs.dbo.authors“ oder „pubs@dbo.authors“.
Verwenden Sie für SQL Server den regulären Ausdruck "\.". Verwenden Sie "@|\." für OracleClient.
Verwenden Sie DBLITERAL_CATALOG_SEPARATOR oder DBLITERAL_SCHEMA_SEPARATOR für OLE DB.
DataSourceProductName Zeichenfolge Der Name des Produkts, auf das durch den Anbieter zugegriffen wird, z. B. "Oracle" oder "SQLServer".
DataSourceProductVersion Zeichenfolge Die Version des Produkts, auf das der Anbieter zugreift, arbeitet im nativen Format der Datenquellen und nicht im Microsoft-Format.
In einigen Fällen sind die Werte von "DataSourceProductVersion" und "DataSourceProductVersionNormalized" identisch. Bei OLE DB und ODBC sind diese Werte immer identisch, da sie in der zugrunde liegenden systemeigenen API demselben Funktionsaufruf zugeordnet sind.
DataSourceProductVersionNormalized Zeichenfolge Eine normalisierte Version der Datenquelle, damit sie mithilfe von String.Compare() verglichen werden kann. Das Format ist für alle Versionen des Anbieters konsistent, um zu verhindern, dass Version 10 zwischen Version 1 und Version 2 einsortiert wird.
Beispielsweise verwendet der Oracle-Anbieter das Format "nn.nn.nn.nn.nn" für die normalisierte Version. Auf diese Weise gibt beispielsweise die Oracle 8i-Datenquelle "08.01.07.04.01" zurück. SQL Server verwendet das Microsoft-Standardformat "nn.nn.nnnn".
In einigen Fällen sind die Werte von DataSourceProductVersion und DataSourceProductVersionNormalized identisch. Bei OLE DB und ODBC sind diese Werte immer identisch, da sie in der zugrunde liegenden systemeigenen API demselben Funktionsaufruf zugeordnet sind.
GroupByBehavior GroupByBehavior Gibt die Beziehung zwischen den Spalten in einer GROUP BY-Klausel und den nicht zusammengesetzten Spalten in der Auswahlliste an.
IdentifierPattern String Ein regulärer Ausdruck, der einem Bezeichner entspricht und über einen Wert verfügt, der den Bezeichner darstellt. Beispiel: "[A-Za-z0-9_#$]".
IdentifierCase IdentifierCase Gibt an, ob die Groß- und Kleinschreibung bei nicht in Anführungszeichen stehenden Bezeichnern berücksichtigt werden soll.
OrderByColumnsInSelect bool Gibt an, ob Spalten in einer ORDER BY-Klausel in der Auswahlliste vorhanden sein müssen. Der Wert "true" gibt an, dass die Spalten in der Auswahlliste vorhanden sein müssen. Der Wert "false" gibt an, dass sie nicht in der Auswahlliste vorhanden sein müssen.
ParameterMarkerFormat Zeichenfolge Eine Formatzeichenfolge, die die Formatierung des Parameters darstellt.
Wenn benannte Parameter von der Datenquelle unterstützt werden, muss sich der erste Platzhalter in dieser Zeichenfolge an der Stelle befinden, an der der Parametername formatiert wird.
Wenn die Datenquelle beispielsweise erwartet, dass Parameter benannt sind und das Präfix „:“ aufweisen, wäre dies: „:{0}“. Bei der Formatierung dieses Beispiels mit dem Parameternamen "p1" lautet die resultierende Zeichenfolge also ":p1".
Wenn die Datenquelle erwartet, dass Parametern das Präfix "@" vorangestellt werden, die Namen sie jedoch bereits enthalten, lautet dies ""{0}, und das Ergebnis der Formatierung eines Parameters mit dem Namen "@p1" wäre nur "@p1".
Für Datenquellen, die keine benannten Parameter erwarten und die Verwendung des "?" erwarten Zeichen, die Formatzeichenfolge kann einfach als "?" angegeben werden, wodurch der Parametername ignoriert wird. Für OLE DB wird "?" zurückgegeben.
ParameterMarkerPattern Zeichenfolge Ein regulärer Ausdruck, der einer Parametermarkierung entspricht. Er verfügt ggf. über einen Übereinstimmungswert des Parameternamens.
Wenn beispielsweise benannte Parameter mit einem vorangestellten "@" unterstützt werden, das in den Parameternamen eingeschlossen wird, lautet die Zeichenfolge: "(@[A-Za-z0-9_$#]*)".
Wenn benannte Parameter jedoch mit einem vorangestellten ":" unterstützt werden, das nicht Teil des Parameternamens ist, lautet die Zeichenfolge: ":([A-Za-z0-9_$#]*)".
Wenn die Datenquelle keine benannten Parameter unterstützt, lautet die Zeichenfolge einfach "?".
ParameterNameMaxLength INT Die maximale Länge eines Parameternamens in Zeichen. In Visual Studio werden im Falle der Unterstützung von Parameternamen 30 Zeichen als Mindestwert für die maximale Länge erwartet.
Wenn benannte Parameter von der Datenquelle nicht unterstützt werden, gibt diese Eigenschaft Null (0) zurück.
ParameterNamePattern Zeichenfolge Ein regulärer Ausdruck, der den gültigen Parameternamen entspricht. Je nach Datenquelle sind die Regeln bezüglich der für Parameternamen zulässigen Zeichen verschieden.
In Visual Studio wird im Falle der Unterstützung von Parameternamen erwartet, dass die Zeichen "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" die in jedem Fall unterstützte Gruppe von für Parameternamen gültigen Zeichen darstellen.
QuotedIdentifierPattern Zeichenfolge Ein regulärer Ausdruck, der einem Bezeichner in Anführungszeichen entspricht und über einen Wert verfügt, der den Bezeichner ohne Anführungszeichen darstellt. Wenn die Datenquelle beispielsweise doppelte Anführungszeichen verwendet, um Anführungszeichen zu identifizieren, wäre dies: "(([^\"]|\"\")*)".
QuotedIdentifierCase IdentifierCase Gibt an, ob die Groß- und Kleinschreibung bei Bezeichnern in Anführungszeichen berücksichtigt werden muss.
StatementSeparatorPattern Zeichenfolge Ein regulärer Ausdruck, der dem Trennzeichen für Anweisungen entspricht.
StringLiteralPattern Zeichenfolge Ein regulärer Ausdruck, der einem Zeichenfolgenliteral entspricht und über einen Wert verfügt, der das Literal darstellt. Wenn in der Datenquelle beispielsweise einfache Anführungszeichen zum Darstellen von Zeichenfolgen verwendet werden, lautet die Zeichenfolge: "('([^']|'')*')"'
SupportedJoinOperators SupportedJoinOperators Gibt an, welche SQL-Joinanweisungen von der Datenquelle unterstützt werden.

DataTypes

Spaltenname Datentyp BESCHREIBUNG
TypName Zeichenfolge Der anbieterspezifische Datentypname.
ProviderDbType INT Der anbieterspezifische Typwert, der zum Angeben eines Parametertyps verwendet werden soll. Zum Beispiel: SqlDbType.Money oder OracleType.Blob.
ColumnSize long Die Länge einer nicht numerischen Spalte oder eines nicht numerischen Parameters bezieht sich entweder auf die maximale oder auf die für diesen Typ vom Anbieter definierte Länge.
Bei Zeichendaten ist dies die maximale oder definierte Länge in Einheiten, entsprechend der Definition in der Datenquelle. In Oracle wird eine Länge und anschließend die tatsächliche Speichergröße für einige Zeichendatentypen angegeben. Dadurch wird für Oracle nur die Länge in Einheiten definiert.
Bei Datum/Uhrzeit-Datentypen ist dies die Länge der Zeichenfolgendarstellung (dabei wird von der maximal zulässigen Genauigkeit der Sekundenbruchteil-Komponente ausgegangen).
Wenn der Datentyp numerisch ist, ist dies die obere Grenze der maximalen Genauigkeit des Datentyps.
CreateFormat Zeichenfolge Formatzeichenfolge, die darstellt, wie diese Spalte einer Datendefinitionsanweisung (z. B. CREATE TABLE) hinzugefügt wird. Jedes Element im CreateParameterArray muss durch eine "Parametermarkierung" in der Formatzeichenfolge repräsentiert werden.
Für den SQL-Datentyp DECIMAL ist eine Angabe zur Genauigkeit und zur Dezimalstellenanzahl erforderlich. In diesem Fall lautet die Formatzeichenfolge "DECIMAL({0},{1})”.
CreateParameters Zeichenfolge Die Erstellungsparameter, die beim Erstellen einer Spalte dieses Datentyps angegeben werden müssen. Die Erstellungsparameter sind in der Zeichenfolge durch ein Komma getrennt in der Reihenfolge aufgelistet, in der sie bereitgestellt werden sollen.
Für den SQL-Datentyp DECIMAL ist eine Angabe zur Genauigkeit und zur Dezimalstellenanzahl erforderlich. In diesem Fall müssen die Erstellungsparameter die Zeichenfolge "Genauigkeit, Dezimalstellenanzahl" enthalten.
In einem Textbefehl zum Erstellen einer DECIMAL-Spalte mit einer Genauigkeit von 10 und einer Dezimalstellenanzahl von 2 lautet der Wert der CreateFormat-Spalte möglicherweise „DECIMAL({0},{1})“ und die vollständige Typspezifikation wäre dann DECIMAL(10,2).
DataType Zeichenfolge Der Name des .NET Framework-Typs des Datentyps.
IsAutoincrementable bool true – Die Werte dieses Datentyps können automatisch erhöht werden.
false– Die Werte dieses Datentyps können nicht automatisch erhöhnt werden.
Beachten Sie, dass auf diese Weise lediglich angegeben wird, ob eine Spalte dieses Datentyps automatisch erhöht werden kann, und nicht, dass alle Spalten dieses Typs automatisch erhöht werden.
IsBestMatch Bool true – Der Datentyp stellt die höchste Übereinstimmung zwischen allen Datentypen im Datenspeicher und dem durch den Wert in der DataType-Spalte angegebenen .NET Framework-Datentyp dar.
false– Der Datentyp ist nicht die beste Übereinstimmung.
Für jede Gruppe von Zeilen, in der der Wert der DataType-Spalte derselbe ist, wird die IsBestMatch-Spalte nur in einer Zeile auf "true" festgelegt.
IsCaseSensitive bool true – Bei dem Datentyp handelt es sich um einen Zeichentyp, und die Groß- und Kleinschreibung muss berücksichtigt werden.

false – Bei dem Datentyp handelt es sich nicht um einen Zeichentyp, und die Groß- und Kleinschreibung muss somit nicht berücksichtigt werden.
IsFixedLength bool true – Die von der DLL (Data Definition Language) erstellten Spalten dieses Datentyps weisen eine feste Länge auf.

false – Die von der DLL (Data Definition Language) erstellten Spalten dieses Datentyps weisen eine variable Länge auf.

DBNull.Value—Es ist nicht bekannt, ob der Anbieter dieses Feld einer Spalte mit fester oder variabler Länge zuordnet.
IsFixedPrecisionScale bool true – Der Datentyp verfügt über eine feste Genauigkeit und Dezimalstellenanzahl.

false – Der Datentyp verfügt über keine feste Genauigkeit und Dezimalstellenanzahl.
IsLong bool true – Der Datentyp enthält sehr lange Daten. Die Definition hierfür ist anbieterspezifisch.

false – Der Datentyp enthält keine sehr langen Daten.
IsNullable bool true— Der Datentyp kann null sein.

false— Der Datentyp kann nicht null sein.

DBNull.Value— Es ist nicht bekannt, ob der Datentyp null sein kann.
IsSearchable bool true – Der Datentyp kann in WHERE-Klauseln mit beliebigen Operatoren außer dem LIKE-Prädikat verwendet werden.

false – Der Datentyp kann nicht in WHERE-Klauseln mit beliebigen Operatoren außer dem LIKE-Prädikat verwendet werden.
IsSearchableWithLike bool true – Der Datentyp kann mit dem LIKE-Prädikat verwendet werden.

false – Der Datentyp kann nicht mit dem LIKE-Prädikat verwendet werden.
IsUnsigned bool true– Der Datentyp hat kein Vorzeichen.

false – Der Datentyp hat ein Vorzeichen.

DBNull.Value— Nicht zutreffend für den Datentyp.
MaximumScale short Wenn es sich beim Typindikator um einen numerischen Typ handelt, ist dies die maximal zulässige Anzahl von Ziffern rechts vom Dezimaltrennzeichen. Andernfalls ist der Wert DBNull.Value.
MinimumScale short Wenn es sich beim Typindikator um einen numerischen Typ handelt, ist dies die minimal zulässige Anzahl von Ziffern rechts vom Dezimaltrennzeichen. Andernfalls ist der Wert DBNull.Value.
IsConcurrencyType bool true–Der Datentyp wird immer dann von der Datenbank aktualisiert, wenn die Zeile geändert wird und sich der Wert der Spalte von allen vorherigen Werten unterscheidet

false – Der Datentyp wird von der Datenbank nicht bei jeder Änderung der Zeile aktualisiert

DBNull.Value– Die Datenbank unterstützt diesen Datentyp nicht.
IsLiteralsSupported bool true – Der Datentyp kann wörtlich ausgedrückt werden.

false – Der Datentyp kann nicht wörtlich ausgedrückt werden.
LiteralPrefix Zeichenfolge Das auf ein angegebenes Literal angewendete Präfix.
LitteralSuffix Zeichenfolge Das auf ein angegebenes Literal angewendete Suffix.
NativeDataType String Eine OLE DB-spezifische Spalte zum Verfügbarmachen des OLE DB Datentyps.

MetaDataCollections

Spaltenname Datentyp BESCHREIBUNG
CollectionName Zeichenfolge Hierbei handelt es sich um den Namen der Sammlung, der zum Zurückgeben der Sammlung an die GetSchema-Methode übergeben werden soll.
NumberOfRestriction INT Die Anzahl der Einschränkungen, die für die Auflistung angegeben werden können.
NumberOfIdentifierParts INT Die Anzahl der Bestandteile im zusammengesetzten Bezeichner/Datenbank-Objektnamen. In SQL Server entspricht dies beispielsweise 3 für Tabellen und 4 für Spalten. In Oracle entspricht dies 2 für Tabellen und 3 für Spalten.

Einschränkungen

Spaltenname Datentyp BESCHREIBUNG
CollectionName Zeichenfolge Der Name der Auflistung, auf die diese Einschränkungen angewendet werden.
RestrictionName Zeichenfolge Der Name der Einschränkung in der Auflistung.
RestrictionDefault Zeichenfolge Ignoriert.
RestrictionNumber INT Die tatsächliche Position in den Auflistungseinschränkungen, an der sich diese bestimmte Einschränkung befindet.

Tabellen

Spaltenname Datentyp Beschreibung
table_catalog String Katalog der Tabelle.
table_schema String Schema, das die Tabelle enthält.
table_name String Tabellenname.
table_type String Tabellentyp. VIEW oder BASE TABLE

Beispiel

Weitere Informationen

Abrufen von Schemainformationen von dem Hostdateisystem
BizTalk-Adapter für die Konfiguration von Hostdateien