Создать новое соединение (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 | Диагностическое сообщение (в случае ошибки соединения с СУБД) |