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


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

Примечание

В этом примере для демонстрации взаимодействия класса OdbcConnectionStringBuilder со строками подключения используется пароль. В приложениях рекомендуется использовать аутентификацию Windows. Если необходимо использовать пароль, то не следует включать в приложение пароли, жестко заданные в коде.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder =
            new OdbcConnectionStringBuilder();
        builder.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");
        builder.Add("Uid", "Admin");
        builder.Add("Pwd", "pass!word1");

        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;uid=Admin;pwd=pass!word1";

        Console.WriteLine("protocol = "
            + builder["protocol"].ToString());
        Console.WriteLine();

        // Modify existing items.
        builder["uid"] = "NewUser";
        builder["pwd"] = "Pass@word2";

        // 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);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.Odbc    

Module Module1
  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder()
    builder.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")
    builder.Add("Uid", "Admin")
    builder.Add("Pwd", "pass!word1")

    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;uid=Admin;pwd=pass!word1"

    Console.WriteLine("protocol = " & builder("protocol").ToString())
    Console.WriteLine()

    ' Modify existing items:
    builder("uid") = "NewUser"
    builder("pwd") = "Pass@word2"

    ' 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 имя драйвера. При 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)

Копирует элементы коллекции ICollection в массив Array, начиная с указанного индекса массива 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)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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