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


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

Примечание

В этом примере для демонстрации взаимодействия класса 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 = _
        "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()

    ' 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 :

Ключ Свойство Значение по умолчанию
Имя файла FileName ""
Поставщик 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)

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

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

AsQueryable(IEnumerable)

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

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

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