Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die allgemeinen Schemasammlungen sind die Schemasammlungen, die von jedem verwalteten .NET Framework-Anbieter implementiert werden. Sie können einen verwalteten .NET Framework-Anbieter abfragen, um die Liste der unterstützten Schemasammlungen zu ermitteln, indem Sie die GetSchema Methode ohne Argumente oder mit dem Schemaauflistungsnamen "MetaDataCollections" aufrufen. Dadurch wird DataTable mit einer Liste der unterstützten Schemaauflistungen, der Anzahl der von diesen Schemaauflistungen unterstützten Einschränkungen und der Anzahl der von diesen Schemaauflistungen verwendeten Bezeichnerteilen zurückgegeben. In diesen Auflistungen werden alle erforderlichen Spalten beschrieben. Anbieter können bei Bedarf zusätzliche Spalten hinzufügen. So fügen beispielsweise SqlClient und OracleClient der Auflistung der Einschränkungen "ParameterName" hinzu.
Wenn ein Anbieter den Wert einer erforderlichen Spalte nicht ermitteln kann, wird NULL zurückgegeben.
Weitere Informationen zur Verwendung der GetSchema Methoden finden Sie unter "GetSchema" und "Schemasammlungen".
MetaDataCollections
Diese Schemasammlung macht Informationen zu allen Schemasammlungen verfügbar, die vom verwalteten .NET Framework-Anbieter unterstützt werden, der derzeit zum Herstellen einer Verbindung mit der Datenbank verwendet wird.
| Spaltenname | Datentyp | BESCHREIBUNG |
|---|---|---|
| SammlungsName | Schnur | Der Name der Auflistung, die an die GetSchema Methode übergeben werden soll, um die Auflistung zurückzugeben. |
| AnzahlDerEinschränkungen | 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 wäre dies beispielsweise 3 für Tabellen und 4 für Spalten. In Oracle wäre es 2 für Tabellen und 3 für Spalten. |
Datenquelleninformation
Diese Schemaauflistung macht Informationen zur Datenquelle verfügbar, mit der der verwaltete .NET Framework-Anbieter derzeit eine Verbindung herstellt.
| Spaltenname | Datentyp | BESCHREIBUNG |
|---|---|---|
| CompositeIdentifierSeparatorPattern | Schnur | 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 ist in der Regel das, was für einen Datenbankobjektnamen verwendet wird, 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 für ODBC den Catalog_name_separator. Verwenden Sie für OLE DB DBLITERAL_CATALOG_SEPARATOR oder DBLITERAL_SCHEMA_SEPARATOR. |
| Datenquellenproduktname | Schnur | Der Name des Produkts, auf das der Anbieter zugegriffen hat, z. B. "Oracle" oder "SQLServer". |
| DatenquelleProduktversion | Schnur | Gibt die Version des Produkts, auf das durch den Anbieter zugegriffen wird, im systemeigenen Format der Datenquellen an, nicht im Microsoft-Format. In einigen Fällen ist DataSourceProductVersion und DataSourceProductVersionNormalized derselbe Wert. Im Fall von OLE DB und ODBC sind diese immer gleich, da sie im zugrunde liegenden nativen API auf denselben Funktionsaufruf abgebildet werden. |
| DataSourceProductVersionNormalized | Schnur | 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 sortiert wird.Der Oracle-Anbieter verwendet beispielsweise ein Format von "nn.nn.nn.nn.nn" für seine normalisierte Version, wodurch eine Oracle 8i-Datenquelle "08.01.07.04.01" zurückgibt. SQL Server verwendet das typische Microsoft-Format "nn.nn.nnnn". In einigen Fällen ist DataSourceProductVersion und DataSourceProductVersionNormalized derselbe Wert. Bei OLE DB und ODBC sind die Zuordnungen stets dieselben, da sie zum selben Funktionsaufruf in der zugrunde liegenden nativen API führen. |
| GroupByBehavior | GroupByBehavior | Gibt die Beziehung zwischen den Spalten in einer GROUP BY-Klausel und den nicht zusammengesetzten Spalten in der Auswahlliste an. |
| IdentifierPattern | Schnur | 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 | Boolesch | Gibt an, ob Spalten in einer ORDER BY-Klausel in der Auswahlliste vorhanden sein müssen. Ein Wert von "true" gibt an, dass sie in der Auswahlliste enthalten sein müssen. Der Wert "false" gibt an, dass sie nicht in der Auswahlliste enthalten sein müssen. |
| ParameterMarkerFormat | Schnur | 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 und mit einem Präfix ":" vorangestellt werden, lautet dies ":{0}". Wenn Sie dies mit einem Parameternamen von "p1" formatieren, lautet die resultierende Zeichenfolge ":p 1". Wenn die Datenquelle erwartet, dass Parameter mit dem Präfix-Zeichen '@' versehen werden, die Namen jedoch dieses bereits enthalten, wäre dies '{0}', und das Ergebnis der Formatierung eines Parameters mit dem Namen "@p1" wäre einfach "@p1". Bei Datenquellen, die keine benannten Parameter erwarten und die Verwendung des Zeichens "?" erwarten, kann die Formatzeichenfolge einfach als "?" angegeben werden, was den Parameternamen ignoriert. Für OLE DB geben wir '?' zurück. |
| ParameterMarkerPattern | Schnur | Ein regulärer Ausdruck, der einer Parametermarkierung entspricht. Er verfügt (sofern vorhanden) über einen Wert, der dem Parameternamen entspricht. Wenn benannte Parameter beispielsweise mit einem "@"-Lead-In-Zeichen unterstützt werden, das im Parameternamen enthalten sein wird, lautet dies: "(@[A-Za-z0-9_$#]*)". Wenn benannte Parameter jedoch mit einem ":" als Lead-In-Zeichen unterstützt werden und nicht Teil des Parameternamens sind, lautet dies: ":([A-Za-z0-9_$#]*)". Wenn die Datenquelle keine benannten Parameter unterstützt, wäre dies 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 die Datenquelle benannte Parameter nicht unterstützt, gibt diese Eigenschaft null zurück. |
| ParameterNameMuster | Schnur | Ein regulärer Ausdruck, der den gültigen Parameternamen entspricht. Unterschiedliche Datenquellen weisen unterschiedliche Regeln hinsichtlich der Zeichen auf, die für Parameternamen verwendet werden können. Visual Studio erwartet, dass die Zeichen "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Lo}\p{Nl}\p{Nd}" die mindest unterstützten Zeichensätze sind, die für Parameternamen gültig sind. |
| QuotedIdentifierPattern | Schnur | 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 in der Datenquelle beispielsweise doppelte Anführungszeichen zum Darstellen der Bezeichner in Anführungszeichen verwendet werden, lautet die Zeichenfolge: "(([^\"]|\"\")*)". |
| QuotedIdentifierCase | IdentifierCase | Gibt an, ob die Groß- und Kleinschreibung bei Bezeichnern in Anführungszeichen berücksichtigt werden muss. |
| StatementSeparatorPattern | Schnur | Ein regulärer Ausdruck, der dem Trennzeichen für Anweisungen entspricht. |
| StringLiteralPattern | Schnur | Ein regulärer Ausdruck, der einem Zeichenfolgenliteral entspricht und über einen Wert verfügt, der das Literal darstellt. Wenn die Datenquelle z. B. einfache Anführungszeichen zum Identifizieren von Zeichenfolgen verwendet hat, lautet dies: "('([^']|'')*')" |
| SupportedJoinOperators | SupportedJoinOperators | Gibt an, welche SQL-Joinanweisungen von der Datenquelle unterstützt werden. |
Datentypen
Diese Schemaauflistung macht Informationen zu den Datentypen verfügbar, die von der Datenbank unterstützt werden, mit der der verwaltete .NET Framework-Anbieter derzeit verbunden ist.
| Spaltenname | Datentyp | BESCHREIBUNG |
|---|---|---|
| Typname | Schnur | Der anbieterspezifische Datentypname. |
| ProviderDbType | INT | Hierbei handelt es sich um den anbieterspezifischen Typwert, der beim Angeben des Typs eines Parameters verwendet werden sollte, Beispiel: SqlDbType.Money oder OracleType.Blob. |
| Spaltengröße | long | Die Länge einer nicht numerischen Spalte oder eines Parameters bezieht sich entweder auf die maximale oder die vom Anbieter definierte Länge für diesen Typ. Bei Zeichendaten ist dies die maximale oder definierte Länge in Einheiten, die von der Datenquelle definiert werden. Oracle hat das Konzept, eine Länge anzugeben und dann die tatsächliche Speichergröße für einige Zeichendatentypen anzugeben. Dies definiert nur die Länge in Einheiten für Oracle. Bei Datentypen für Datums- und Zeitangaben ist dies die Länge der Zeichenfolgendarstellung (unter der Annahme der maximal zulässigen Genauigkeit der Bruchteilsekundenkomponente). Wenn der Datentyp numerisch ist, ist dies die obere Grenze für die maximale Genauigkeit des Datentyps. |
| CreateFormat | Schnur | Formatzeichenfolge, die darstellt, wie diese Spalte einer Datendefinitionsanweisung (z. B. CREATE TABLE) hinzugefügt wird. Jedes Element im CreateParameter-Array sollte durch eine "Parametermarkierung" in der Formatzeichenfolge dargestellt werden. Für den SQL-Datentyp DECIMAL ist eine Angabe zur Genauigkeit und zur Dezimalstellenanzahl erforderlich. In diesem Fall wäre die Formatzeichenfolge "DECIMAL({0},{1})". |
| Parameter erstellen | Schnur | Die Erstellungsparameter, die beim Erstellen einer Spalte dieses Datentyps angegeben werden müssen. Jeder Erstellungsparameter wird in der Zeichenfolge aufgeführt, getrennt durch ein Komma in der Reihenfolge, in der sie angegeben 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 DEZIMALspalte mit einer Genauigkeit von 10 und einer Skalierung von 2 kann der Wert der CreateFormat-Spalte DECIMAL({0},{1})" sein, und die vollständige Typspezifikation wäre DECIMAL(10,2). |
| Datentyp | Schnur | Der Name des .NET Framework-Typs des Datentyps. |
| IsAutoincrementable | Boolesch | true – Werte dieses Datentyps können automatisch erhöht werden. false – Werte dieses Datentyps werden möglicherweise nicht automatisch erhöht. Beachten Sie, dass dies lediglich angibt, ob eine Spalte dieses Datentyps automatisch erhöht werden kann, nicht dass alle Spalten dieses Typs automatisch erhöht werden. |
| IsBestMatch | Boolesch | true – Der Datentyp ist die beste Übereinstimmung zwischen allen Datentypen im Datenspeicher und dem .NET Framework-Datentyp, der durch den Wert in der Spalte "DataType" angegeben ist. false – Der Datentyp stellt nicht die höchste Übereinstimmung dar. Für jeden Satz von Zeilen, in denen der Wert der Spalte "DataType" identisch ist, wird die Spalte "IsBestMatch" in nur einer Zeile auf "true" festgelegt. |
| IsCaseSensitive (Fallunterscheidung beachten) | Boolesch | true – Bei dem Datentyp handelt es sich um einen Zeichentyp, und die Groß- und Kleinschreibung muss berücksichtigt werden. false – Der Datentyp ist kein Zeichentyp oder ist nicht case-sensitiv. |
| IsFixedLength | Boolesch | true – Spalten dieses Datentyps, die von der Datendefinitionssprache (Data Definition Language, DDL) erstellt wurden, sind mit fester Länge formatiert. false – Spalten dieses Datentyps, der von der DDL erstellt wird, sind variabler Länge. DBNull.Value– Es ist nicht bekannt, ob der Anbieter dieses Feld einer Spalte mit fester Länge oder Variabler Länge zuordnen wird. |
| IsFixedPrecisionScale | Boolesch | true – Der Datentyp weist eine feste Genauigkeit und Skalierung auf. false – Der Datentyp verfügt nicht über eine feste Genauigkeit und Skalierung. |
| IsLong | Boolesch | true – Der Datentyp enthält sehr lange Daten; die Definition von sehr langen Daten ist anbieterspezifisch. false – Der Datentyp enthält keine sehr langen Daten. |
| IsNullable | Boolesch | true – Der Datentyp ist nullfähig. false – Der Datentyp ist nicht nullfähig. DBNull.Value– Es ist nicht bekannt, ob der Datentyp nullwertebar ist. |
| IstDurchsuchbar | Boolesch | true – Der Datentyp kann in einer WHERE-Klausel mit einem beliebigen Operator mit Ausnahme des LIKE-Prädikats verwendet werden. false – Der Datentyp kann nicht in einer WHERE-Klausel mit einem beliebigen Operator mit Ausnahme des LIKE-Prädikats verwendet werden. |
| IsSearchableWithLike | Boolesch | true – Der Datentyp kann mit dem LIKE-Prädikat verwendet werden. false – Der Datentyp kann nicht mit dem LIKE-Prädikat verwendet werden. |
| IsUnsigned | Boolesch | true – Der Datentyp ist nicht signiert. false – Der Datentyp ist signiert. DBNull.Value – Gilt nicht für den Datentyp. |
| MaximumScale | kurz | Wenn der Typindikator ein numerischer Typ ist, ist dies die maximale Anzahl von Ziffern, die rechts vom Dezimalkomma zulässig sind. Andernfalls ist dies DBNull.Value. |
| Mindestmaßstab | kurz | Wenn der Typindikator ein numerischer Typ ist, ist dies die Mindestanzahl der Ziffern, die rechts vom Dezimalkomma zulässig sind. Andernfalls ist dies DBNull.Value. |
| IsConcurrencyType | Boolesch | true – der Datentyp wird von der Datenbank bei jeder Änderung der Zeile aktualisiert, und der Wert der Spalte unterscheidet sich von allen vorherigen Werten. false – Der Datentyp wird von der Datenbank nicht bei jeder Änderung der Zeile aktualisiert. DBNull.Value – Diese Art von Datentyp wird von der Datenbank nicht unterstützt. |
| IsLiteralSupported | Boolesch | true – Der Datentyp kann als Literal ausgedrückt werden. false – Der Datentyp kann nicht als Literal ausgedrückt werden. |
| LiteralPrefix | Schnur | Das auf ein angegebenes Literal angewendete Präfix. |
| LiteralSuffix | Schnur | Das auf ein angegebenes Literal angewendete Suffix. |
| NativeDataType | Schnur | NativeDataType ist eine OLE DB-spezifische Spalte zum Anzeigen des OLE DB-Formats des Datentyps. |
Einschränkungen
Diese Schemaauflistung stellt Informationen zu den Einschränkungen bereit, die vom verwalteten .NET Framework-Anbieter unterstützt werden, der derzeit zum Herstellen einer Verbindung mit der Datenbank verwendet wird.
| Spaltenname | Datentyp | BESCHREIBUNG |
|---|---|---|
| SammlungsName | Schnur | Der Name der Auflistung, auf die diese Einschränkungen angewendet werden. |
| Beschränkungsname | Schnur | Der Name der Einschränkung in der Auflistung. |
| RestrictionDefault | Schnur | Ignoriert. |
| Einschränkungsnummer | INT | Die tatsächliche Position in den Auflistungseinschränkungen, an der sich diese bestimmte Einschränkung befindet. |
Reservierte Wörter
Diese Schemaauflistung macht Informationen zu den Wörtern verfügbar, die von der Datenbank reserviert sind, mit der der verwaltete .NET Framework-Anbieter derzeit verbunden ist.
| Spaltenname | Datentyp | BESCHREIBUNG |
|---|---|---|
| ReservedWord | Schnur | Hierbei handelt es sich um ein anbieterspezifisches reserviertes Wort. |