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