OdbcConnectionStringBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет простой способ создания и управления содержимым строк подключения, используемых классом OdbcConnection .
public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
- Наследование
- Атрибуты
Примеры
Следующее консольное приложение создает строки подключения для нескольких баз данных ODBC. Во-первых, в примере создается строка подключения для базы данных Microsoft Access. Затем он создает строку подключения для базы данных IBM DB2. В примере также анализируется существующая строка подключения и демонстрируется различные способы управления содержимым строки подключения.
using System.Data.Odbc;
class Program
{
static void Main()
{
OdbcConnectionStringBuilder builder = new()
{
Driver = "Microsoft Access Driver (*.mdb)"
};
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Dbq", "C:\\info.mdb");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OdbcConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
"hostname=SampleServerName;port=SamplePortNum;" +
"protocol=TCPIP";
Console.WriteLine($"protocol = {builder["protocol"].ToString()}");
Console.WriteLine();
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("port");
// Note that calling Remove on a nonexistent item does not
// throw an exception.
builder.Remove("BadItem");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Setting the indexer adds the associated value, if
// necessary.
builder["NewKey"] = "newValue";
Console.WriteLine(builder.ConnectionString);
}
}
Imports System.Data.Odbc
Module Module1
Sub Main()
Dim builder As New OdbcConnectionStringBuilder With {
.Driver = "Microsoft Access Driver (*.mdb)"
}
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Dbq", "C:\info.mdb")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OdbcConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString =
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" &
"hostname=SampleServerName;port=SamplePortNum;" &
"protocol=TCPIP"
Console.WriteLine("protocol = " & builder("protocol").ToString())
Console.WriteLine()
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("port")
' Note that calling Remove on a nonexistent item does not
' throw an exception.
builder.Remove("BadItem")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' The Item property is the default for the class,
' and setting the Item property adds the value, if
' necessary.
builder("NewKey") = "newValue"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
Комментарии
Построитель строк подключения позволяет разработчикам программно создавать синтаксически правильные строки подключения, а также анализировать и перестроить существующие строки подключения, используя свойства и методы класса. Построитель строк подключения предоставляет строго типизированные свойства, соответствующие известным парам "ключ-значение", разрешенным подключениями ODBC, и разработчики могут добавлять пары произвольных ключей и значений для любых других значений строки подключения.
Разработчики, необходимые для создания строк подключения в рамках приложений, могут использовать OdbcConnectionStringBuilder класс для создания и изменения строк подключения. Класс также упрощает управление строками подключения, хранящимися в файле конфигурации приложения. OdbcConnectionStringBuilder выполняет проверку только для ограниченного набора известных пар "ключ-значение". Поэтому этот класс можно использовать для создания недопустимых строк подключения. В следующей таблице перечислены определенные известные ключи вместе со своими соответствующими свойствами в OdbcConnectionStringBuilder классе и их значениями по умолчанию. Помимо этих конкретных значений, разработчики могут добавлять в коллекцию любую пару "ключ-значение", содержащуюся в экземпляре OdbcConnectionStringBuilder .
| Ключ | Недвижимость | Комментарий | Значение по умолчанию |
|---|---|---|---|
| Driver | Driver | Разработчики не должны включать фигурные скобки, окружающие имя драйвера при установке Driver свойства. Экземпляр OdbcConnectionStringBuilder добавляет фигурные скобки по мере необходимости. | Пустая строка |
| DSN | Dsn | Пустая строка |
Если любое значение (отличное Driver от значения) в строке подключения содержит точку с запятой (;), OdbcConnectionStringBuilder оно окружает значение кавычками в строке подключения. Чтобы избежать этой проблемы со Driver значением, которое часто содержит точку с запятой, OdbcConnectionStringBuilder класс всегда окружает это значение с фигурными скобками. Спецификация ODBC указывает, что значения драйверов, содержащие запятую, должны быть окружены фигурными скобками, и этот класс обрабатывает это для вас.
Свойство Item[] обрабатывает попытки вставки вредоносного кода. Например, следующий код, используя свойство по умолчанию Item[] (индексатор в C#), правильно экранирует пару вложенных ключей и значений.
Dim builder As _
New System.Data.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
Результатом является следующая строка подключения, которая обрабатывает недопустимое значение безопасным образом:
Driver={SQL Server};Server="MyServer;NewValue=Bad"
Конструкторы
| Имя | Описание |
|---|---|
| OdbcConnectionStringBuilder() |
Инициализирует новый экземпляр класса OdbcConnectionStringBuilder. |
| OdbcConnectionStringBuilder(String) |
Инициализирует новый экземпляр класса OdbcConnectionStringBuilder. Указанная строка подключения предоставляет данные для внутренних сведений о подключении экземпляра. |
Свойства
| Имя | Описание |
|---|---|
| BrowsableConnectionString |
Возвращает или задает значение, указывающее, отображается ли ConnectionString свойство в конструкторах Visual Studio. (Унаследовано от DbConnectionStringBuilder) |
| ConnectionString |
Возвращает или задает строку подключения, связанную с .DbConnectionStringBuilder (Унаследовано от DbConnectionStringBuilder) |
| Count |
Возвращает текущее количество ключей, содержащихся в свойстве ConnectionString . (Унаследовано от DbConnectionStringBuilder) |
| Driver |
Возвращает или задает имя драйвера ODBC, связанного с подключением. |
| Dsn |
Возвращает или задает имя имени источника данных (DSN), связанного с подключением. |
| IsFixedSize |
Возвращает значение, указывающее, имеет ли DbConnectionStringBuilder размер фиксированного размера. (Унаследовано от DbConnectionStringBuilder) |
| IsReadOnly |
Возвращает значение, указывающее, доступен ли доступ DbConnectionStringBuilder только для чтения. (Унаследовано от DbConnectionStringBuilder) |
| Item[String] |
Возвращает или задает значение, связанное с указанным ключом. В C#это свойство является индексатором. |
| Keys |
Возвращает объект ICollection , содержащий ключи в объекте OdbcConnectionStringBuilder. |
| Values |
Возвращает значение ICollection , содержащее значения в объекте DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
Методы
| Имя | Описание |
|---|---|
| Add(String, Object) |
Добавляет запись с указанным ключом и значением в объект DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| Clear() |
Очищает содержимое экземпляра OdbcConnectionStringBuilder . |
| ClearPropertyDescriptors() |
Очищает коллекцию PropertyDescriptor объектов в связанном DbConnectionStringBuilderобъекте. (Унаследовано от DbConnectionStringBuilder) |
| ContainsKey(String) |
Определяет, содержит ли OdbcConnectionStringBuilder определенный ключ. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| EquivalentTo(DbConnectionStringBuilder) |
Сравнивает сведения о подключении в этом DbConnectionStringBuilder объекте с сведениями о подключении в предоставленном объекте. (Унаследовано от DbConnectionStringBuilder) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetProperties(Hashtable) |
Заполняет предоставленные Hashtable сведения обо всех свойствах этого DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Remove(String) |
Удаляет запись с указанным ключом из экземпляра OdbcConnectionStringBuilder . |
| ShouldSerialize(String) |
Указывает, существует ли указанный ключ в этом DbConnectionStringBuilder экземпляре. (Унаследовано от DbConnectionStringBuilder) |
| ToString() |
Возвращает строку подключения, связанную с этим DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| TryGetValue(String, Object) |
Извлекает значение, соответствующее предоставленному ключу, из этого OdbcConnectionStringBuilder. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Копирует элементы объекта ICollectionArrayв определенный индекс, начиная с определенного Array индекса. (Унаследовано от DbConnectionStringBuilder) |
| ICollection.IsSynchronized |
Возвращает значение, указывающее, синхронизирован ли доступ к ICollection синхронизированному (потокобезопасно). (Унаследовано от DbConnectionStringBuilder) |
| ICollection.SyncRoot |
Получает объект, который можно использовать для синхронизации доступа к объекту ICollection. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetAttributes() |
Возвращает коллекцию настраиваемых атрибутов для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetClassName() |
Возвращает имя класса этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetComponentName() |
Возвращает имя этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetConverter() |
Возвращает преобразователь типов для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetDefaultEvent() |
Возвращает событие по умолчанию для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetDefaultProperty() |
Возвращает свойство по умолчанию для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetEditor(Type) |
Возвращает редактор указанного типа для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetEvents() |
Возвращает события для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetEvents(Attribute[]) |
Возвращает события для этого экземпляра компонента, используя указанный массив атрибутов в качестве фильтра. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetProperties() |
Возвращает свойства для этого экземпляра компонента. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetProperties(Attribute[]) |
Возвращает свойства для этого экземпляра компонента с помощью массива атрибутов в качестве фильтра. (Унаследовано от DbConnectionStringBuilder) |
| ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Возвращает объект, содержащий свойство, описанное указанным дескриптором свойства. (Унаследовано от DbConnectionStringBuilder) |
| IDictionary.Add(Object, Object) |
Добавляет элемент с предоставленным ключом и значением в IDictionary объект. (Унаследовано от DbConnectionStringBuilder) |
| IDictionary.Contains(Object) |
Определяет, содержит ли IDictionary объект элемент с указанным ключом. (Унаследовано от DbConnectionStringBuilder) |
| IDictionary.GetEnumerator() |
IDictionaryEnumerator Возвращает объект для IDictionary объекта. (Унаследовано от DbConnectionStringBuilder) |
| IDictionary.Item[Object] |
Возвращает или задает элемент с указанным ключом. (Унаследовано от DbConnectionStringBuilder) |
| IDictionary.Remove(Object) |
Удаляет элемент с указанным ключом из IDictionary объекта. (Унаследовано от DbConnectionStringBuilder) |
| IEnumerable.GetEnumerator() |
Возвращает перечислитель, который выполняет итерацию по коллекции. (Унаследовано от DbConnectionStringBuilder) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |