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

Примеры

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

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

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