Поделиться через


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
Наследование
OdbcConnectionStringBuilder
Атрибуты

Примеры

Следующее консольное приложение создает строки подключения для нескольких баз данных 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 на основе указанного типа.

Применяется к

См. также раздел