Доступные версии документации

Установление связи с СУБД

Назначение

Перед тем, как начать работать с БД, пользовательская программа обязана выполнить процедуру связи с СУБД и регистрации. Для этого используется оператор CONNECT, устанавливающий соединение с сервером СУБД.

Синтаксис

 
<соединение с СУБД>::=
EXEC SQL CONNECT [ <режим канала>]
:<имя пользователя> [ IDENTIFIED BY :<пароль >]
[AT <переменная типа «соединение» >] [USING : <имя сервера>] ;
<режим канала> : = EXCLUSIVE | OPTIMISTIC | {SHARED | AUTOCOMMIT }
<имя пользователя> :: = <переменная основного языка>
<пароль >::= <переменная основного языка>
<имя сервера >:: =<переменная основного языка>

Описание

  1. Оператор CONNECT должен быть первым исполняемым SQL-оператором встроенного языка, т.е. все другие SQL-операторы могут физически, но не логически предшествовать оператору CONNECT.

  2. <Режим канала> задает способ обработки транзакций в данном соединении. По умолчанию используется режим EXCLUSIVE.

  3. <Имя пользователя> – переменная типа char. Задает пользователя, под именем которого будет выполняться доступ к СУБД по данному каналу (соединению). Имя должно содержать не более 18 символов.

  4. <Пароль> – переменная типа char. Задает пароль пользователя, указанного в переменной <имя пользователя>. Длина пароля не должна превышать 66 символов. Пароль может указываться совместно с именем пользователя в переменной <имя пользователя> через косую черту (/). Тогда параметр <пароль> должен отсутствовать.

    Примечание

    Параметр IDENTIFIED BY: <пароль> не задается, если пользователь с именем <имя пользователя> зарегистрирован в БД без пароля.

  5. Значение переменных <пароль> и <имя пользователя> должно быть определено до выполнения оператора CONNECT.

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

  7. <Имя сервера> – переменная типа char, объявленная в секции EXEC SQL DECLARE. Она задает имя ЛИНТЕР-сервера, где находится БД, с которой требуется установить соединение (см. документ «СУБД ЛИНТЕР. Сетевые средства»). Имя ЛИНТЕР-сервера не должно содержать более 8 символов. Если параметр <имя сервера> не задан, соединение осуществляется с активной БД по умолчанию на локальном сервере (если таковая есть) либо на удаленном ЛИНТЕР-сервере по умолчанию (удаленным ЛИНТЕР-сервером является первый сервер в списке ЛИНТЕР-серверов в файле сетевой конфигурации) (см. документ «СУБД ЛИНТЕР. Сетевые средства»).

  8. <Имя соединения> – переменная встроенного языка, необъявленная или объявленная в директиве встроенного языка DECLARE DATABASE, либо символьная константа. Задает имя переменной, связываемой с открываемым каналом соединения с СУБД. В дальнейшем, при необходимости работы с каналом, на него можно ссылаться по этому имени. К одной БД может быть установлено несколько соединений. Если параметр <имя соединения> опущен, можно открыть только один неименованный канал соединения с СУБД.

  9. Программа может установить одновременно несколько соединений как с одной, так и с несколькими БД (локальной или удаленной). При этом значение имени соединения в конструкции [AT <переменная типа «соединение»>] для каждого соединения должно быть уникальным (таким образом, в программе может использоваться только один оператор соединения без конструкции [AT <переменная типа «соединение»>]).

  10. Для получения информации о ЛИНТЕР-сервере используется оператор EXEC LINTER GET SERVER (см. Получение характеристик ЛИНТЕР-сервера).

Примечание

Режим OPTIMISTIC устарел (использовать не рекомендуется).

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter