Введение в стандарты языка баз данных SQL

       

Подключение к базе данных


Для подключения к серверу баз данных в SQL/92 предусмотрен оператор CONNECTTO. Следует заметить, что конструкции, предназначенные для управления подключениями и сессиями, относятся к наименее проработанным частям стандарта (хотя на практике они являются необходимыми, поскольку все современные серьезные СУБД выполнены в архитектуре "клиент-сервер"). Для управления подключением служат три оператора (CONNECT, SETCONNECTION и DISCONNECT), которые мы и рассмотрим в этом разделе.

3.8.1. Установление подключения

С выполнения этого оператора начинается сеанс взаимодействия с указанным сервером баз данных. Оператор описывается следующими синтаксическими правилами:

<connect statement> ::= CONNECT TO <connection target> <connection target> ::= <SQL-server name> [ AS <connection name> ] [ USER <user name> ] | DEFAULT

Пояснения:

  • Если в разделе цели соединения не указано имя пользователя, то по умолчанию используется неявное имя пользователя, определенное в реализации.
  • Если оператор установления соединения выполняется после первого оператора, инициировавшего текущую транзакцию, и если в реализации не поддерживаются транзакции, взаимодействующие более чем с одним сервером, возбуждается исключительное условие.
  • Имя соединения либо задается явно, либо выбирается по умолчанию, либо совпадает с обязательным параметром имени сервера; попытка установления соединения с именем, которое соответствует установленному и неразорваному соединению, вызывает возбуждение исключительной ситуации.
  • Если имя соединения задается по умолчанию, то образуется SQL-сессия с именем по умолчанию, связанная с умалчиваемым SQL-сервером. Способ распознавания сервера по умолчанию определяется в реализации.
  • Если оператор установления соединения успешно инициирует SQL-сессию, то

      (a) текущее соединение и текущая транзакция становятся потенциальными; информация о контексте SQL-сервера сохраняется и не влияет на операции, выполняемые в инициированном соединении;

      (b) образованные SQL-сессия и SQL-соединение становятся текущими.

  • Идентификатор авторизации SQL-сессии устанавливается в соответствии с указанным именем пользователя.


  • Содержание раздела