Создать новое соединение (connect)
Назначение
Метод connect
создает новое соединения с СУБД и объект класса «соединение». Вызов метода может быть произведен как через объект класса Linter, так и непосредственно через класс DBI.
Пакет
Package Linter::dr
Прототип
$dbh = $drh- >connect($data_source,$username,$password[, \%attr]); $dbh = DBI- >connect($data_source, $username, $password [, \%attr]);
Параметр | Описание | |
---|---|---|
$data_source | Строка подключения вида
"dbi:Linter(database = > < dbname >, mode = > {autocommit | optimistic | exclusive}, codepage = > {CP_1251|CP_866,CP_UTF8|KOI8|< codepage_name >}):" где: < dbname > – имя узла локальной сети, на котором установлена СУБД ЛИНТЕР. Имя этого узла и параметры доступа к нему должны быть прописаны в файле сетевой конфигурации < codepage_name > – имя кодовой страницы, присутствующей в системной таблице $$$CHARSET (см. документ «СУБД ЛИНТЕР. Системные таблицы и представления»). Все параметры подключения (кроме < dbname >) можно задать через параметр %attr). Примечания
| |
$username | Имя пользователя БД (регистр символов учитывается) длиной не более 66 символов. Если длина имени больше 66 символов, то она усекается | |
$password | Пароль пользователя БД (регистр символов учитывается) длиной не более 18 символов. Если длина пароля больше 18 символов, то она усекается | |
\%attr | Ссылка на список атрибутов создаваемого соединения:
%attributes= (mode = > {autocommit | optimistic | exclusive}, codepage = > {CP_866 | CP_1251 | CP_UTF8 | KOI8 | < codepage_name >}) где: < codepage_name > – имя кодовой страницы, присутствующей в системной таблице $$$CHARSET (см. документ «СУБД ЛИНТЕР. Системные таблицы и представления»). Значения по умолчанию: mode = > autocommit codepage = > CP_866 ПримечаниеРежим OPTIMISTIC устарел (использовать не рекомендуется). |
Примечание
При одновременном задании атрибутов подключения в строке подключения и через параметр %attr
используются значения, заданные в параметре %attr
.
Например:
%attr = (mode = > exclusive, codepage = > CP_866); $dbh = $drh- >connect("dbi:Linter(database = > DEMO, mode = > optimistic, codepage = > CP_1251)", "SYSTEM", "MANAGER8", \%attr);
В итоге соединение будет открыто в транзакционном режиме EXCLUSIVE с установленной кодовой страницей CP_866.
Возвращаемые значения
Переменная | Описание | |
---|---|---|
$dbh : | ||
описатель БД | Нормальное завершение | |
undef | Ошибка соединения с СУБД | |
$DBI::errstr | Диагностическое сообщение (в случае ошибки соединения с СУБД) |