ConnectionString

Предоставляет или задает строку подключения, связанную с DbConnectionStringBuilder.

Формат строки:

< параметр >;< параметр >; …

< параметр >::=< ключ >=< значение >

Например:

"Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8"

Класс DbConnectionStringBuilder не проверяет пары «ключ/значение», связанные со строкой подключения, хотя классы, которые наследуются из него, это могут делать.

Свойство ConnectionString класса DbConnectionStringBuilder действует обычно как механизм для создания и анализа списков пар «ключ/значение», в которых в качестве разделителя используется точка с запятой и которые отделяются друг от друга знаками равенства. Свойство не выполняет семантическую проверку устанавливаемой строки подключения.

После добавления (изменения) параметра строки подключения свойство ConnectionString будут отображать данные изменения.

Декларация
public string ConnectionString {get; set;};
Значение свойства

Текущая строка подключения, созданная по парам «ключ/значение», содержащимся в DbConnectionStringBuilder.

Значение по умолчанию – пустая строка.

Исключения
ArgumentException Неизвестное имя ключа в строке подключения.
Пример

В примере демонстрируется возможное поведение свойства ConnectionString:

  • создается строка подключения посредством добавления по одной паре «ключ/значение» в пустой объект DbConnectionStringBuilder;

  • назначается полная строка подключения свойству ConnectionString экземпляра DbConnectionStringBuilder и изменяется единственная пара «ключ/значение» в данной строке;

  • назначается недопустимая строка подключения свойству ConnectionString и показывается, что в этом случае выдается исключение.

Примечание

В приведенном пример используется пароль, чтобы продемонстрировать, как DbConnectionStringBuilder работает со строками подключения. В клиентских приложениях рекомендуется использовать проверку подлинности средствами ОС Windows. Если требуется использовать пароль, не следует добавлять жестко запрограммированный пароль в исходный текст клиентского приложения.

// C#
using System;
using System.Data;
using System.Data.Common;

class ConnectionStringBuilderSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Создание объекта DbConnectionStringBuilder, и добавление
    // элементов в коллекцию ключ/значение
    DbConnectionStringBuilder builder =
      factory.CreateConnectionStringBuilder();
    builder.Add("Data Source", "LOCAL");
    builder.Add("User ID", "SYSTEM");
    builder.Add("Password", "MANAGER8");
    // Отображение строки подключения, которая сейчас будет
    // содержать все пары ключ/значение, разделенные точкой с запятой
    Console.WriteLine(builder.ConnectionString);
    Console.WriteLine();
    // Очистка объекта DbConnectionStringBuilder и установка полной
    // строки подключения для демонстрации того, как данный класс
    // выполняет синтаксический разбор строк подключения
    builder.Clear();
    builder.ConnectionString =
      "Data Source=TEST;User ID=admin;Password=passwd";
    // Класс DbConnectionStringBuilder выполнил разбор строки, поэтому
    // теперь можно работать с индивидуальными парами ключ/значение
    builder["Data Source"] = "NEW";
    Console.WriteLine(builder.ConnectionString);
    Console.WriteLine();
    builder.Clear();
    try
    {
      // Присвоение некорректной строки подключения
      // генерирует исключение ArgumentException
      builder.ConnectionString = "xxx";
    }
    catch (ArgumentException)
    {
      Console.WriteLine("Некорректная строка подключения");
    }
    Console.WriteLine();
    Console.WriteLine("Нажмите клавишу Ввод для завершения");
    Console.ReadLine();
  }
}