Строки соединения

Строки соединения представляют собой абстрактный интерфейс задания и передачи параметров соединения баз данных.

Строка соединения представляет собой множество пар <параметр> = <значение>, разделенных символом ';'. В строке соединения не учитываются пробелы разделяющие знаки равенства и точки с запятой. Содержание строки зависит от типа базы данных, с которой неободимо открыть соединение. Для описания формата строки смотри спецификацию для соотв. типа СУБД.

В строке не обязательно указывать все допустимые для данного типа соединения параметры. Незаданные параметры могут быть инициализированы автоматически при инициализации соединения значениями по-молчанию. Имена параметров соединения являются регистронезависимыми (т.е. допускается наличие любого из перечисленных: Host, HOST, hoST и т.д.).

Для работы с абстрактной строкой соединения (например, в случае, когда заранее неизвестно с каким типом СУБД ведется работа) используется интерфейс класса TDbConnParams.

Допускается явное и неявное задание параметров соединения. В случае явного задания в качестве значения параметра берется строка, стоящая после знака равно ('='). При явном способе описания параметров соединения обязательно должен быть задан тип соединения.

Пример

    var
      Conn: TDbaConnection;
      ...
    begin
      ...
      Conn.ConnString := 'driver = Mysql; host = localhost:3306; user = root';
  



При неявном задании в качестве значения параметра могут быть использованы алисы или переменные. В независимости от типа параметризации строки, в случае неявного описания, в качестве значений параметров используются зарезервированные слова, начинающееся с симовлов '@' или ':'. Строка может содержать одновременно как явно так и неявно заднные параметры.

Пример

    var
      Conn: TDbaConnection;
      ...
    begin
      ...
      Conn.ConnString := 'host = @@myhost; user = @@myuser; charset = :def_charset';
  



Важно! Все значения, начинающиеся с служебных символов '@' или ':' трактуются как параметризованные значения. При этом будет автоматически использован режим неявного определения значений параметров.

Значения, начинающиеся с символа '@', называются алиасами соединения. Механизм алиасов может быть использован для задания сервера или службы базы данных или логина, от имени которого должно быть отркыто соединения. Остальные параметры могут быть неявно заданы только через механизм переменных. Более подробно - см. AboutConnStrings.AboutConnAliases

Статьи

Алисы и параметризация строки соединения
Алиасы и переменные строки соединеия могут быть использованы для скрытия параметров соединения или их параметризации (в случае когда необходимо менять соедиение с БД, не затрагивая саму строку соединения).
Строки соединения в MySQL
Описание формата строк соединения в СУБД MySQL.
Строки соединения в Oracle
Описание формата строк соединения в СУБД Oracle.
Строки соединения в Sqlite
Описание формата строк соединения в СУБД Sqlite.