Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Общие коллекции схем — это коллекции схем, реализованные каждым из управляемых поставщиков .NET Framework. Вы можете запросить управляемого поставщика .NET Framework, чтобы определить список поддерживаемых коллекций схем, вызвав GetSchema метод без аргументов или с именем коллекции схем MetaDataCollections. При этом возвращается DataTable, содержащий список поддерживаемых коллекций схем, количество ограничений, которые они поддерживают, и количество используемых ими частей идентификаторов. Эти коллекции описывают все обязательные столбцы. Поставщики могут добавлять дополнительные столбцы, если они хотят. Например, SqlClient и OracleClient добавьте ParameterName в коллекцию ограничений.
Если поставщику не удается определить значение обязательного столбца, он вернет значение NULL.
Дополнительные сведения об использовании GetSchema методов см. в разделе GetSchema и Коллекции схем.
MetaDataCollections
Эта коллекция схем предоставляет сведения обо всех коллекциях схем, поддерживаемых управляемым поставщиком .NET Framework, который в настоящее время используется для подключения к базе данных.
| Имя столбца | Тип данных | Описание |
|---|---|---|
| Название коллекции | струна | Имя коллекции, передаваемой методу GetSchema, чтобы он вернул коллекцию. |
| КоличествоОграничений | инт | Количество ограничений, которые могут быть указаны для коллекции. |
| КоличествоЧастейИдентификатора | инт | Количество частей в имени составного идентификатора или объекта базы данных. Например, в SQL Server это будет 3 для таблиц и 4 для столбцов. В Oracle было бы 2 для таблиц и 3 для столбцов. |
ИнформацияОбИсточникеДанных
Эта коллекция схем предоставляет сведения об источнике данных, к которому в настоящее время подключается управляемый поставщик .NET Framework.
| Имя столбца | Тип данных | Описание |
|---|---|---|
| ШаблонРазделителяКомпозитногоИдентификатора | струна | Регулярное выражение, соответствующее составным разделителям в составном идентификаторе. Например, "\". (для SQL Server) или "@|\". (для Oracle). Составной идентификатор обычно используется для имени объекта базы данных, например pubs.dbo.authors или pubs@dbo.authors. Для SQL Server используйте регулярное выражение "\.". Для OracleClient используйте "@|\.". Для ODBC используйте разделитель имени каталога. Для OLE DB используется DBLITERAL_CATALOG_SEPARATOR или DBLITERAL_SCHEMA_SEPARATOR. |
| DataSourceProductName | струна | Имя продукта, к которому обращается поставщик, например "Oracle" или "SQLServer". |
| ВерсияПродуктаИсточникаДанных | струна | Указывает версию продукта, доступного поставщиком, в собственном формате источников данных, а не в формате Майкрософт. В некоторых случаях DataSourceProductVersion и DataSourceProductVersionNormalized будут одинаковыми значениями. В случае OLE DB и ODBC они всегда будут совпадать с тем же вызовом функции в базовом собственном API. |
| НормализованнаяВерсияПродуктаИсточникДанных | струна | Нормализованная версия для источника данных, поэтому ее можно сравнить с String.Compare(). Формат унифицирован для всех версий поставщика, чтобы предотвратить сортировку, при которой версия 10 оказывается между версиями 1 и 2.Например, поставщик Oracle использует формат nn.nn.nn.nn.nn для своей нормализованной версии, что приводит к возврату данных источником Oracle 8i "08.01.07.04.01". SQL Server использует типичный формат Microsoft nn.nn.nnnn. В некоторых случаях DataSourceProductVersion и DataSourceProductVersionNormalized будут одинаковыми значениями. В случае OLE DB и ODBC они всегда будут совпадать с тем же вызовом функции в базовом собственном API. |
| GroupByBehavior | GroupByBehavior | Указывает связь между столбцами в предложении GROUP BY и не агрегированными столбцами в списке выбора. |
| Паттерн идентификатора | струна | Регулярное выражение, которое соответствует идентификатору и имеет значение соответствия идентификатора. Например, "[A-Za-z0-9_#$]". |
| ИдентификаторПисьма | IdentifierCase | Указывает, обрабатываются ли нецитированные идентификаторы как чувствительные к регистру или нет. |
| УпорядочитьПоСтолбцамВВыборке | булевая переменная (bool) | Указывает, должны ли столбцы в предложении ORDER BY находиться в списке выбора. Значение true указывает, что они должны находиться в списке выбора, значение false указывает, что они не должны находиться в списке выбора. |
| ParameterMarkerFormat | струна | Строка формата, представляющая форматирование параметра. Если источник данных поддерживает именованные параметры, то первое заполнительное место в этой строке должно быть там, где должно быть отформатировано имя параметра. Например, если источник данных ожидает, что параметры будут именованы и префиксированы с помощью аргумента ":" будет ":{0}". При форматировании с именем параметра p1 результирующая строка имеет значение ":p 1". Если источник данных ожидает, что параметры будут префиксированы с помощью @, но имена уже включают их, это будет "{0}" и результат форматирования параметра с именем "@p1" будет просто "@p1". Для источников данных, не ожидающих именованных параметров и ожидающих использования символа "?", строка форматирования может быть указана как просто "?", которая будет игнорировать имя параметра. Для OLE DB мы возвращаем "?". |
| ParameterMarkerPattern | струна | Регулярное выражение, соответствующее маркеру параметра. У него будет значение, соответствующее названию параметра, если оно существует. Например, если именованные параметры поддерживаются с ведущим символом "@", который будет включен в имя параметра, это будет так: "(@[A-Za-z0-9_$#]*)". Однако, если именованные параметры поддерживаются с символом ":" в качестве начального и он не является частью имени параметра, это будет выглядеть так: ":([A-Za-z0-9_$#]*)". Конечно, если источник данных не поддерживает именованные параметры, это просто будет "?". |
| МаксимальнаяДлинаИмениПараметра | инт | Максимальная длина имени параметра в символах. Visual Studio ожидает, что если поддерживаются имена параметров, минимальное значение для максимальной длины — 30 символов. Если источник данных не поддерживает именованные параметры, это свойство возвращает ноль. |
| ParameterNamePattern | струна | Регулярное выражение, соответствующее допустимым именам параметров. Разные источники данных имеют разные правила относительно символов, которые могут использоваться для имен параметров. Visual Studio ожидает, что если поддерживаются имена параметров, символы "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" — это минимальный поддерживаемый набор символов, допустимых для имен параметров. |
| ШаблонQuotedIdentifierPattern | струна | Регулярное выражение, которое соответствует идентификатору с кавычками и имеет соответствующее значение самого идентификатора без кавычек. Например, если источник данных использовал двойные кавычки для идентификации идентификаторов, заключенных в кавычки, это будет: "(([^\"]|\"\")*)". |
| QuotedIdentifierCase | IdentifierCase | Указывает, учитывается ли регистр в кавычках для идентификаторов или нет. |
| ШаблонРазделителяОператоров | струна | Регулярное выражение, соответствующее разделителю выражений. |
| СтроковыйЛитералПаттерн (StringLiteralPattern) | струна | Регулярное выражение, которое соответствует строковой литералу и имеет соответствующее значение самого литерала. Например, если источник данных использовал одинарные кавычки для идентификации строк, это будет: "('([^']|')*')"' |
| Поддерживаемые операторы соединения | SupportedJoinOperators | Указывает, какие типы инструкций соединения SQL поддерживаются источником данных. |
Типы данных
Эта коллекция схем предоставляет сведения о типах данных, поддерживаемых базой данных, к которым в настоящее время подключен управляемый поставщик .NET Framework.
| Имя столбца | Тип данных | Описание |
|---|---|---|
| ТипИмя | струна | Имя типа данных для конкретного поставщика. |
| ТипБДПоставщика | инт | Значение типа для конкретного поставщика, которое следует использовать при указании типа параметра. Например, SqlDbType.Money или OracleType.Blob. |
| РазмерСтолбца | долго | Длина нечислового столбца или параметра относится либо к максимальной, либо к длине, определенной для этого типа поставщиком. Для символьных данных это максимальная или определенная длина в единицах, определяемая источником данных. Oracle имеет концепцию указания длины, а затем указания фактического размера хранилища для некоторых типов символьных данных. Это определяет только длину в единицах для Oracle. Для типов данных даты и времени это длина строкового представления (при условии максимально допустимой точности компонента дробных секунд). Если тип данных является числовым, это верхняя граница максимальной точности типа данных. |
| Создать Формат | струна | Форматируйте строку, представляющую, как добавить этот столбец в инструкцию определения данных, например CREATE TABLE. Каждый элемент в массиве CreateParameter должен быть представлен маркером параметра в строке формата. Например, тип данных SQL DECIMAL требует точности и масштаба. В этом случае строка формата будет "DECIMAL({0},{1})". |
| СоздатьПараметры | струна | Параметры создания, которые необходимо указать при создании столбца этого типа данных. Каждый параметр создания указан в строке, разделенный запятой в том порядке, в который они должны быть предоставлены. Например, тип данных SQL DECIMAL требует точности и масштаба. В этом случае параметры создания должны содержать строку "точность, масштабирование". В текстовой команде для создания столбца DECIMAL с точностью 10 и масштабом 2 значение столбца CreateFormat может быть DECIMAL({0}),{1}" и полная спецификация типа будет ДЕСЯТИЧНОЙ (10,2). |
| Тип данных | струна | Имя типа данных в .NET Framework. |
| ЯвляетсяАвтоувеличиваемым | булевая переменная (bool) | true — значения этого типа данных могут быть автоматически увеличивающимися. false— значения этого типа данных могут не увеличиваться автоматически. Обратите внимание, что это просто указывает, может ли столбец этого типа данных увеличиваться автоматически, а не то, что все столбцы этого типа автоматически увеличиваются. |
| IsBestMatch | булевая переменная (bool) | True. Тип данных является лучшим совпадением между всеми типами данных в хранилище данных и типом данных .NET Framework, указанным значением в столбце DataType. false — тип данных не является наилучшим соответствием. Для каждого набора строк, в которых значение столбца DataType совпадает, столбец IsBestMatch имеет значение true только в одной строке. |
| IsCaseSensitive (регистрочувствительная проверка) | булевая переменная (bool) | true — тип данных является символьным и чувствителен к регистру. false— тип данных не является типом символов или не учитывает регистр. |
| ФиксированнаяДлина | булевая переменная (bool) | true. Столбцы этого типа данных, созданные языком определения данных (DDL), будут иметь фиксированную длину. false— столбцы этого типа данных, созданные DDL, будут иметь переменную длину. DBNull.Value — неизвестно, сопоставляет ли поставщик это поле с столбцом фиксированной длины или переменной длины. |
| IsFixedPrecisionScale | булевая переменная (bool) | True— тип данных имеет фиксированную точность и масштаб. false— тип данных не имеет фиксированной точности и масштаба. |
| IsLong | булевая переменная (bool) | true— тип данных содержит очень длинные данные; Определение очень длинных данных зависит от поставщика. false— тип данных не содержит очень длинных данных. |
| IsNullable | булевая переменная (bool) | true—тип данных может принимать значение NULL. false—тип данных не может принимать значение NULL. DBNull.Value — неизвестно, является ли тип данных допускающим значение NULL. |
| Доступно для поиска | булевая переменная (bool) | true— тип данных можно использовать в предложении WHERE с любым оператором, кроме предиката LIKE. false— тип данных нельзя использовать в предложении WHERE с любым оператором, кроме предиката LIKE. |
| IsSearchableWithLike | булевая переменная (bool) | True— тип данных можно использовать с предикатом LIKE false— тип данных нельзя использовать с предикатом LIKE. |
| IsUnsigned | булевая переменная (bool) | true— тип данных не назначен. false— тип данных подписан. DBNull.Value — неприменимо к типу данных. |
| Максимальное масштабирование | короткий | Если индикатор типа является числовым типом, это максимальное число цифр, допустимое справа от десятичной точки. В противном случае это DBNull.Value. |
| Минимальное масштабирование | короткий | Если индикатор типа является числовым типом, это минимальное число цифр, разрешенное справа от десятичной запятой. В противном случае это DBNull.Value. |
| ЯвляетсяТипомПараллельности | булевая переменная (bool) | true — тип данных обновляется базой данных при каждом изменении строки, а значение столбца отличается от всех предыдущих значений. false — тип данных обновляется базой данных при каждом изменении строки. DBNull.Value — база данных не поддерживает этот тип данных. |
| IsLiteralSupported | булевая переменная (bool) | true — тип данных может быть выражен как литерал false — тип данных не может быть выражен как литерал |
| Литерал Prefix | струна | Префикс, примененный к заданному литералу. |
| Литералы Суффикс | струна | Суффикс, примененный к заданному литералу. |
| NativeDataType | Струна | NativeDataType — это специальный столбец OLE DB, предназначенный для определения типа OLE DB для данного типа данных. |
Ограничения
Эта коллекция схем предоставляет сведения об ограничениях, поддерживаемых управляемым поставщиком .NET Framework, который в настоящее время используется для подключения к базе данных.
| Имя столбца | Тип данных | Описание |
|---|---|---|
| Название коллекции | струна | Имя коллекции, к которому применяются эти ограничения. |
| ИмяОграничения | струна | Имя ограничения в коллекции. |
| ОграничениеПоУмолчанию | струна | Проигнорировано. |
| ОграничениеНомер | инт | Фактическое местоположение в ограничениях коллекций, в которые попадает это конкретное ограничение. |
Зарезервированные Слова
Эта коллекция схем предоставляет сведения о словах, зарезервированных в базе данных, к которой в настоящий момент подключен управляемый поставщик .NET Framework.
| Имя столбца | Тип данных | Описание |
|---|---|---|
| Зарезервированное слово | струна | Зарезервированное слово, специфическое для поставщика. |