OleDbConnectionStringBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет простой способ создания и управления содержимым строк подключения, используемых классом OleDbConnection.
public ref class OleDbConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))]
public sealed class OleDbConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))>]
type OleDbConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OleDbConnectionStringBuilder
Inherits DbConnectionStringBuilder
- Наследование
- Атрибуты
Примеры
Следующее консольное приложение создает строки подключения для нескольких баз данных OLE DB. Сначала в примере создается строка подключения для базы данных Microsoft Access, а затем создается строка подключения для базы данных IBM DB2. В этом примере также анализируется существующая строка подключения и демонстрируется различные способы управления содержимым строки подключения.
Note
В этом примере содержится пароль для демонстрации работы OleDbConnectionStringBuilder со строками подключения. В приложениях рекомендуется использовать проверку подлинности Windows. Если вы должны использовать пароль, не включайте в приложение жестко закодированный пароль.
using System.Data.OleDb;
class Program
{
static void Main(string[] args)
{
OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=C:\Sample.mdb";
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
builder.Add("Jet OLEDB:Database Password", "MyPassword!");
builder.Add("Jet OLEDB:System Database", @"C:\Workgroup.mdb");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OleDbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"Provider=DB2OLEDB;Network Transport Library=TCPIP;" +
"Network Address=192.168.0.12;Initial Catalog=DbAdventures;" +
"Package Collection=SamplePackage;Default Schema=SampleSchema;";
Console.WriteLine("Network Address = " + builder["Network Address"].ToString());
Console.WriteLine();
// Modify existing items.
builder["Package Collection"] = "NewPackage";
builder["Default Schema"] = "NewSchema";
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("User ID");
// 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 value, if
// necessary.
builder["User ID"] = "SampleUser";
builder["Password"] = "SamplePassword";
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
Imports System.Data.OleDb
Imports System.Collections
Module Module1
Sub Main()
Dim builder As New OleDbConnectionStringBuilder()
builder.ConnectionString = "Data Source=C:\Sample.mdb"
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
builder.Add("Jet OLEDB:Database Password", "MyPassword!")
builder.Add("Jet OLEDB:System Database", "C:\Workgroup.mdb")
' Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1)
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OleDbConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString = "..."
Console.WriteLine("Network Address = " & builder("Network Address").ToString())
Console.WriteLine()
' Modify existing items.
builder("Package Collection") = "NewPackage"
builder("Default Schema") = "NewSchema"
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("User ID")
' 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("User ID") = "SampleUser"
builder("Password") = "SamplePassword"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
Комментарии
Построитель строк подключения позволяет разработчикам программно создавать синтаксически правильные строки подключения, а также анализировать и перестроить существующие строки подключения, используя свойства и методы класса. Построитель строка подключения предоставляет строго типизированные свойства, соответствующие известным парам "ключ-значение", разрешенным подключениями OLE DB, и разработчики могут добавлять произвольные пары "ключ-значение" для любых других строка подключения значений. Класс OleDbConnectionStringBuilder реализует интерфейс ICustomTypeDescriptor. Это означает, что класс работает с Visual Studio .NET конструкторами во время разработки. Когда разработчики используют конструктор для создания строго типизированных наборов данных и строго типизированных подключений в Visual Studio .NET, класс строго типизированного строка подключения построителя будет отображать свойства, связанные с типом, и также будут иметь преобразователи, которые могут сопоставлять общие значения известных ключей.
Разработчики, необходимые для создания строк подключения в рамках приложений, могут использовать OleDbConnectionStringBuilder класс для создания и изменения строк подключения. Класс также упрощает управление строками подключения, хранящимися в файле конфигурации приложения. Выполняет OleDbConnectionStringBuilder проверку только для ограниченного набора известных пар "ключ-значение". Поэтому этот класс можно использовать для создания недопустимых строк подключения. В следующей таблице перечислены известные ключи и соответствующие свойства в OleDbConnectionStringBuilder классе и их значения по умолчанию. Помимо этих конкретных значений разработчики могут добавлять в коллекцию любую пару "ключ-значение", содержащуюся в экземпляре OleDbConnectionStringBuilder :
| Ключ | Property | Значение по умолчанию |
|---|---|---|
| Имя файла | FileName | "" |
| Provider | Provider | "" |
| Источник данных | DataSource | "" |
| Сохранение сведений о безопасности | PersistSecurityInfo | Неправда |
| Службы OLE DB | OleDbServices | -13 |
Свойство Item[] обрабатывает попытки вставки вредоносных записей. Например, следующий код, используя свойство Item[] по умолчанию (индексатор в C#), правильно экранирует пару вложенных ключей и значений:
Dim builder As _
New System.Data.OleDb.OleDbConnectionStringBuilder
builder("Provider") = "Microsoft.Jet.OLEDB.4.0"
builder("Data Source") = "C:\Sample.mdb"
builder("User Id") = "Admin;NewValue=Bad"
System.Data.OleDb.OleDbConnectionStringBuilder builder =
new System.Data.OleDb.OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
builder["Data Source"] = "C:\\Sample.mdb";
builder["User Id"] = "Admin;NewValue=Bad";
Результатом является следующая строка подключения, которая обрабатывает недопустимое значение безопасным образом:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"
Конструкторы
| Имя | Описание |
|---|---|
| OleDbConnectionStringBuilder() |
Инициализирует новый экземпляр класса OleDbConnectionStringBuilder. |
| OleDbConnectionStringBuilder(String) |
Инициализирует новый экземпляр класса OleDbConnectionStringBuilder. Указанная строка подключения предоставляет данные для внутренних сведений о подключении экземпляра. |
Свойства
| Имя | Описание |
|---|---|
| BrowsableConnectionString |
Возвращает или задает значение, указывающее, отображается ли свойство ConnectionString в конструкторах Visual Studio. (Унаследовано от DbConnectionStringBuilder) |
| ConnectionString |
Возвращает или задает строка подключения, связанную с DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| Count |
Возвращает текущее количество ключей, содержащихся в свойстве ConnectionString . (Унаследовано от DbConnectionStringBuilder) |
| DataSource |
Возвращает или задает имя источника данных для подключения. |
| FileName |
Возвращает или задает имя универсального файла канала данных (UDL) для подключения к источнику данных. |
| IsFixedSize |
Возвращает значение, указывающее, имеет ли DbConnectionStringBuilder размер фиксированного размера. (Унаследовано от DbConnectionStringBuilder) |
| IsReadOnly |
Возвращает значение, указывающее, доступен ли доступ DbConnectionStringBuilder только для чтения. (Унаследовано от DbConnectionStringBuilder) |
| Item[String] |
Возвращает или задает значение, связанное с указанным ключом. В C#это свойство является индексатором. |
| Keys |
Возвращает объект ICollection , содержащий ключи в объекте OleDbConnectionStringBuilder. |
| OleDbServices |
Возвращает или задает значение, передаваемое для ключа служб OLE DB в строке подключения. |
| PersistSecurityInfo |
Возвращает или задает логическое значение, указывающее, возвращаются ли конфиденциальные данные безопасности, такие как пароль, как часть подключения, если подключение открыто или когда-либо находилось в открытом состоянии. |
| Provider |
Возвращает или задает строку, содержащую имя поставщика данных, связанного с внутренней строкой подключения. |
| Values |
Возвращает значение ICollection , содержащее значения в объекте DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
Методы
| Имя | Описание |
|---|---|
| Add(String, Object) |
Добавляет запись с указанным ключом и значением в объект DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| Clear() |
Очищает содержимое экземпляра OleDbConnectionStringBuilder . |
| ClearPropertyDescriptors() |
Очищает коллекцию PropertyDescriptor объектов в связанном DbConnectionStringBuilderобъекте. (Унаследовано от DbConnectionStringBuilder) |
| ContainsKey(String) |
Определяет, содержит ли OleDbConnectionStringBuilder определенный ключ. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| EquivalentTo(DbConnectionStringBuilder) |
Сравнивает сведения о подключении в этом DbConnectionStringBuilder объекте с сведениями о подключении в предоставленном объекте. (Унаследовано от DbConnectionStringBuilder) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetProperties(Hashtable) |
Заполняет предоставленные Hashtable сведения обо всех свойствах этого DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Remove(String) |
Удаляет запись с указанным ключом из экземпляра OleDbConnectionStringBuilder . |
| ShouldSerialize(String) |
Указывает, существует ли указанный ключ в этом DbConnectionStringBuilder экземпляре. (Унаследовано от DbConnectionStringBuilder) |
| ToString() |
Возвращает строка подключения, связанный с этим DbConnectionStringBuilder. (Унаследовано от DbConnectionStringBuilder) |
| TryGetValue(String, Object) |
Извлекает значение, соответствующее предоставленному ключу из экземпляра OleDbConnectionStringBuilder . |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| 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) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |