Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typowe kolekcje schematów to kolekcje schematów implementowane przez każdego z dostawców zarządzanych programu .NET Framework. Możesz wysłać zapytanie do dostawcy zarządzanego programu .NET Framework, aby określić listę obsługiwanych kolekcji schematów, wywołując GetSchema metodę bez argumentów lub z nazwą kolekcji schematów "MetaDataCollections". Spowoduje to zwrócenie DataTable obiektu z listą obsługiwanych kolekcji schematów, liczbą ograniczeń, które obsługują, oraz liczbą używanych przez nich części identyfikatorów. Te kolekcje opisują wszystkie wymagane kolumny. Jeśli chcą, dostawcy mogą dodawać dodatkowe kolumny. Na przykład SqlClient i OracleClient dodają ParameterName do kolekcji ograniczeń.
Jeśli dostawca nie może określić wartości wymaganej kolumny, zwróci wartość null.
Aby uzyskać więcej informacji na temat używania GetSchema metod, zobacz GetSchema i Kolekcje schematów.
MetaDataCollections
Ta kolekcja schematów udostępnia informacje o wszystkich kolekcjach schematów obsługiwanych przez dostawcę zarządzanego programu .NET Framework, który jest obecnie używany do nawiązywania połączenia z bazą danych.
| NazwaKolumny | Typ danych | Opis |
|---|---|---|
| Nazwa Kolekcji | ciąg | Nazwa kolekcji, która ma być przekazywana do GetSchema metody w celu zwrócenia kolekcji. |
| LiczbaOgraniczeń | int (integer) | Liczba ograniczeń, które można określić dla kolekcji. |
| LiczbaCzęściIdentyfikatora | int (integer) | Liczba części w nazwie obiektu złożonego identyfikatora/bazy danych. Na przykład w programie SQL Server będzie to wartość 3 dla tabel i 4 kolumn. W programie Oracle byłoby to 2 dla tabel i 3 dla kolumn. |
Informacje o źródle danych
Ta kolekcja schematów udostępnia informacje o źródle danych, z którymi jest obecnie połączony dostawca zarządzany programu .NET Framework.
| NazwaKolumny | Typ danych | Opis |
|---|---|---|
| WzorzecSeparatoraZłożonegoIdentyfikatora | ciąg | Wyrażenie regularne dopasowujące separatory złożone w identyfikatorze złożonym. Na przykład "\". (dla programu SQL Server) lub "@|\". (dla Oracle). Identyfikator złożony jest zwykle używany dla nazwy obiektu bazy danych, na przykład pubs.dbo.authors lub pubs@dbo.authors. W przypadku programu SQL Server użyj wyrażenia regularnego "\.". W przypadku OracleClient użyj "@|\". W przypadku funkcji ODBC użyj Catalog_name_separator. W przypadku OLE DB użyj DBLITERAL_CATALOG_SEPARATOR lub DBLITERAL_SCHEMA_SEPARATOR. |
| NazwaProduktuŹródłaDanych | ciąg | Nazwa produktu, do których uzyskuje dostęp dostawca, na przykład "Oracle" lub "SQLServer". |
| WersjaProduktuŹródłaDanych | ciąg | Wskazuje wersję produktu dostępną przez dostawcę w formacie natywnym źródeł danych, a nie w formacie firmy Microsoft. W niektórych przypadkach Wartości DataSourceProductVersion i DataSourceProductVersionNormalized będą takie same. W przypadku interfejsów OLE DB i ODBC będą one zawsze takie same, ponieważ są mapowane na to samo wywołanie funkcji w podstawowym natywnym interfejsie API. |
| DataSourceProductVersionNormalized | ciąg | Znormalizowana wersja źródła danych, tak aby można ją było porównać z wartością String.Compare(). Format jest spójny dla wszystkich wersji dostawcy, aby uniemożliwić sortowanie wersji 10 między wersją 1 a wersją 2.Na przykład dostawca Oracle używa formatu "nn.nn.nn.nn.nn" dla znormalizowanej wersji, co powoduje, że źródło danych Oracle 8i zwraca "08.01.07.04.01". Program SQL Server używa typowego dla firmy Microsoft formatu "nn.nn.nnnn". W niektórych przypadkach wartości DataSourceProductVersion i DataSourceProductVersionNormalized będą takie same. W przypadku OLE DB i ODBC będą one zawsze takie same, ponieważ są mapowane na to samo wywołanie funkcji w bazowym natywnym interfejsie API. |
| GroupByBehavior | GroupByBehavior | Określa relację między kolumnami w klauzuli GROUP BY i niegregowanymi kolumnami na liście wyboru. |
| WzorzecIdentyfikatora | ciąg | Wyrażenie regularne, które pasuje do identyfikatora i ma wartość dopasowania identyfikatora. Na przykład "[A-Za-z0-9_#$]". |
| Identyfikator | IdentifierCase | Wskazuje, czy identyfikatory inne niż cytowane są traktowane jako rozróżniające wielkość liter, czy nie. |
| SortujWedługKolumnWSelect | Bool | Określa, czy kolumny w klauzuli ORDER BY muszą znajdować się na liście wyboru. Wartość true wskazuje, że muszą znajdować się na liście wyboru. Wartość false wskazuje, że nie muszą znajdować się na liście wyboru. |
| ParametrMarkerFormat | ciąg | Ciąg formatu reprezentujący sposób formatowania parametru. Jeśli nazwane parametry są obsługiwane przez źródło danych, pierwszy symbol zastępczy w tym ciągu powinien być miejscem, w którym należy sformatować nazwę parametru. Jeśli na przykład źródło danych oczekuje, że parametry będą nazwane i poprzedzone prefiksem ":", będzie to ":{0}". Podczas formatowania tego parametru o nazwie "p1" wynikowy ciąg to ":p 1". Jeśli źródło danych oczekuje, że parametry zostaną poprzedzone prefiksem "@", ale nazwy już zawierają je, będzie to "{0}", a wynikiem formatowania parametru o nazwie "@p1" będzie po prostu "@p1". W przypadku źródeł danych, które nie oczekują nazwanych parametrów i oczekują użycia znaku "?", można określić ciąg formatu jako po prostu "?", co zignoruje nazwę parametru. W przypadku bazy danych OLE zwracamy wartość "?". |
| ParametrMarkerPattern | ciąg | Wyrażenie regularne, które pasuje do znacznika parametru. Będzie mieć wartość dopasowania nazwy parametru, jeśli istnieje. Jeśli na przykład nazwane parametry są obsługiwane z znakiem "@", który zostanie uwzględniony w nazwie parametru, będzie to: "(@[A-Za-z0-9_$#]*)". Jeśli jednak nazwane parametry są obsługiwane ze znakiem ":" jako znakiem poprzedzającym i nie jest częścią nazwy parametru, będzie to: ":([A-Za-z0-9_$#]*)". Oczywiście jeśli źródło danych nie obsługuje nazwanych parametrów, będzie to po prostu "?". |
| Nazwa parametruMaxLength | int (integer) | Maksymalna długość nazwy parametru w znakach. Program Visual Studio oczekuje, że jeśli nazwy parametrów są obsługiwane, minimalna wartość maksymalnej długości to 30 znaków. Jeśli źródło danych nie obsługuje nazwanych parametrów, ta właściwość zwraca zero. |
| ParametrNazwaWzorzec | ciąg | Wyrażenie regularne zgodne z prawidłowymi nazwami parametrów. Różne źródła danych mają różne reguły dotyczące znaków, które mogą być używane dla nazw parametrów. Program Visual Studio oczekuje, że jeśli nazwy parametrów są obsługiwane, znaki "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" są minimalnym obsługiwanym zestawem znaków prawidłowych dla nazw parametrów. |
| WzorzecCytowanegoIdentyfikatora | ciąg | Wyrażenie regularne, które pasuje do identyfikatora cytowanego i ma wartość dopasowania samego identyfikatora bez cudzysłowów. Jeśli na przykład źródło danych użyło podwójnych cudzysłowów w celu zidentyfikowania identyfikatorów cytowanych, będzie to: "([^\"]|\"\")*)". |
| QuotedIdentifierCase | IdentifierCase | Wskazuje, czy identyfikatory cytowane są traktowane jako wrażliwe na wielkość liter, czy nie. |
| WzorzecSeparatoraInstrukcji | ciąg | Wyrażenie regularne, które pasuje do separatora instrukcji. |
| StringLiteralPattern | ciąg | Wyrażenie regularne, które pasuje do ciągu znaków i ma wartość dopasowania odpowiadającą samemu ciągowi. Na przykład, jeśli źródło danych używało apostrofów do identyfikowania ciągów, będzie to: "('([^']|'')*')" |
| ObsługiwaneOperatoryŁączenia | SupportedJoinOperators | Określa, jakie typy instrukcji sprzężenia SQL są obsługiwane przez źródło danych. |
Typy danych
Ta kolekcja schematów udostępnia informacje o typach danych obsługiwanych przez bazę danych, z którą jest obecnie połączony dostawca zarządzany programu .NET Framework.
| NazwaKolumny | Typ danych | Opis |
|---|---|---|
| NazwaTypu | ciąg | Nazwa typu danych specyficznego dla dostawcy. |
| ProviderDbType | int (integer) | Wartość typu specyficznego dla dostawcy, która powinna być używana podczas określania typu parametru. Na przykład SqlDbType.Money lub OracleType.Blob. |
| Rozmiar kolumny | długi | Długość kolumny nieliczbowej lub parametru odnosi się do długości maksymalnej lub zdefiniowanej dla tego typu przez dostawcę. W przypadku danych znaków jest to maksymalna lub zdefiniowana długość w jednostkach zdefiniowanych przez źródło danych. Oracle ma koncepcję określania długości, a następnie określania rzeczywistego rozmiaru pamięci dla niektórych typów danych typu znakowego. To określa tylko długość w jednostkach dla Oracle. W przypadku typów danych daty i godziny jest to długość reprezentacji ciągu (przy założeniu maksymalnej dozwolonej precyzji składnika ułamkowych sekund). Jeśli typ danych jest liczbowy, jest to górna granica maksymalnej dokładności typu danych. |
| UtwórzFormat | ciąg | Ciąg formatu reprezentujący sposób dodawania tej kolumny do instrukcji definicji danych, takiej jak CREATE TABLE. Każdy element w tablicy CreateParameter powinien być reprezentowany w ciągu formatu przez "znacznik parametru". Na przykład typ danych SQL DECIMAL wymaga dokładności i skali. W takim przypadku ciąg formatu to "DECIMAL({0},{1})". |
| UtwórzParametry | ciąg | Parametry tworzenia, które należy określić podczas tworzenia kolumny tego typu danych. Każdy parametr procesu tworzenia jest wymieniony w ciągu, rozdzielony przecinkiem, w kolejności, w której mają być podane. Na przykład typ danych SQL DECIMAL wymaga dokładności i skali. W takim przypadku parametry tworzenia powinny zawierać ciąg "precyzja, skala". W poleceniu tekstowym do utworzenia kolumny DECIMAL z precyzją 10 i skalą 2, wartość kolumny CreateFormat może być DECIMAL({0},{1}), a kompletna specyfikacja typu to DECIMAL(10,2). |
| Typ danych | ciąg | Nazwa typu danych w .NET Framework. |
| CzyMożnaZwiększaćAutomatycznie | Bool | true — wartości tego typu danych mogą być automatycznie zwiększane. false — wartości tego typu danych mogą nie być automatycznie zwiększane. Należy pamiętać, że wskazuje to tylko, czy kolumna tego typu danych może być automatycznie zwiększana, a nie, że wszystkie kolumny tego typu są automatycznie zwiększane. |
| IsBestMatch | Bool | true — typ danych jest najlepszym dopasowaniem między wszystkimi typami danych w magazynie danych i typem danych programu .NET Framework wskazanym przez wartość w kolumnie DataType. false — typ danych nie jest najlepszym dopasowaniem. Dla każdego zestawu wierszy, w których wartość kolumny DataType jest taka sama, kolumna IsBestMatch jest ustawiona na wartość true tylko w jednym wierszu. |
| Uwzględnia wielkość liter | Bool | true — typ danych jest typem znakowym i uwzględnia wielkość liter. false — typ danych nie jest typem znaku lub nie uwzględnia wielkości liter. |
| StałaDługość | Bool | true — kolumny tego typu danych utworzone przez język definicji danych (DDL) będą mieć stałą długość. false — kolumny tego typu danych utworzone przez DDL będą mieć zmienną długość. DBNull.Value — nie wiadomo, czy dostawca zamapuje to pole na kolumnę o stałej długości lub zmiennej długości. |
| IsFixedPrecisionScale | Bool | true — typ danych ma stałą precyzję i skalę. false — typ danych nie ma stałej dokładności i skali. |
| IsLong | Bool | true — typ danych zawiera bardzo długie dane; definicja bardzo długich danych jest specyficzna dla dostawcy. false — typ danych nie zawiera bardzo długich danych. |
| IsNullable | Bool | true — typ danych ma wartość null. false — typ danych nie może zawierać wartości null. DBNull.Value — nie wiadomo, czy typ danych ma wartość null. |
| IsSearchable | Bool | true — typ danych może być używany w klauzuli WHERE z dowolnym operatorem z wyjątkiem predykatu LIKE. false — typ danych nie może być używany w klauzuli WHERE z żadnym operatorem z wyjątkiem predykatu LIKE. |
| Można przeszukiwać za pomocą Like | Bool | true — typ danych może być używany z predykatem LIKE false — nie można używać typu danych z predykatem LIKE. |
| IsUnsigned | Bool | true — typ danych jest niepodpisany. fałsz — typ danych jest znakowany. DBNull.Value — nie dotyczy typu danych. |
| Maksymalna skala | krótki | Jeśli wskaźnik typu jest typem liczbowym, jest to maksymalna liczba cyfr dozwolonych po prawej stronie przecinka dziesiętnego. W przeciwnym razie jest to DBNull.Value. |
| Minimalna skala | krótki | Jeśli wskaźnik typu jest typem liczbowym, jest to minimalna liczba cyfr dozwolonych po prawej stronie punktu dziesiętnego. W przeciwnym razie jest to DBNull.Value. |
| TypWspółbieżności | Bool | true — typ danych jest aktualizowany przez bazę danych za każdym razem, gdy wiersz jest zmieniany, a wartość kolumny różni się od wszystkich poprzednich wartości false — typ danych jest aktualizowany przez bazę danych za każdym razem, gdy wiersz jest zmieniany DBNull.Value — baza danych nie obsługuje tego typu danych |
| IsLiteralSupported | Bool | true — typ danych może być wyrażony jako literał false — nie można wyrazić typu danych jako literału |
| LiteralPrefiks | ciąg | Prefiks zastosowany do danego literału. |
| LiterałSuffix | ciąg | Sufiks zastosowany do danego literału. |
| NativeDataType | Sznurek | NativeDataType to kolumna specyficzna dla OLE DB, ujawniająca typ danych OLE DB. |
Ograniczenia
Ta kolekcja schematów ujawniła informacje o ograniczeniach obsługiwanych przez dostawcę zarządzanego programu .NET Framework, który jest obecnie używany do nawiązywania połączenia z bazą danych.
| NazwaKolumny | Typ danych | Opis |
|---|---|---|
| Nazwa Kolekcji | ciąg | Nazwa kolekcji, do których mają zastosowanie te ograniczenia. |
| Nazwa ograniczeń | ciąg | Nazwa ograniczenia w kolekcji. |
| Domyślne Ograniczenie | ciąg | Ignorowane. |
| NumerOgraniczenia | int (integer) | Rzeczywista lokalizacja tego szczególnego ograniczenia w ramach ograniczeń kolekcji. |
Zastrzeżone Słowa
Ta kolekcja schematów udostępnia informacje o słowach zarezerwowanych przez bazę danych, z którą jest obecnie połączony dostawca zarządzany programu .NET Framework.
| NazwaKolumny | Typ danych | Opis |
|---|---|---|
| ReservedWord | ciąg | Słowo zarezerwowane specyficzne dla dostawcy. |