Создание кэшированного соединения (connect_cached)
Назначение
Метод connect_cached выполняет соединение с ЛИНТЕР-сервером аналогично методу
connect и в случае успешного соединения сохраняет параметры этого соединения в кэше для возможного повторного
соединения к этому же ЛИНТЕР-серверу. Если вызов метода connect_cached выполняется
повторно с теми же значениями параметров соединения, что уже присутствует в кэше, то метод возвратит этот
экземпляр соединения. Кэшированный экземпляр соединения заменяется новым при закрытии соединения с ЛИНТЕР-сервером
или после неуспешного выполнения метода ping.
Примечание
Механизм кэширования соединений отличается от механизма постоянных соединений, осуществляемых Apache::DBI.
Однако, если Apache::DBI загружен, то connect_cached будет использовать его.
Не рекомендуется менять атрибуты в экземпляре соединения, созданном посредством вызова connect_cached, так как это может негативно отразиться там, где используется то же самое соединение. После вызова connect_cached возвращается дескриптор соединения, у которого установленные атрибуты будут сброшены в исходные значения (например, атрибут AutoCommit).
Пакет
Package Linter::dr
Прототип
$dbh = $drh->connect_cached($data_source, $username, $password [,\%attr]); $dbh = DBI->connect_cached($data_source, $username, $password [,\%attr]);
| Параметр | Описание | |
|---|---|---|
| $data_source | См. описание метода connect | |
| $username | См. описание метода connect | |
| $password | См. описание метода connect | |
| \%attr | См. описание метода connect |
Возвращаемые значения
| Переменная | Описание | |
|---|---|---|
$dbh | Ссылка на дескриптор открытого соединения | |
undef | Ошибка соединения с СУБД ЛИНТЕР | |
$DBI::errstr
| Диагностическое сообщение (в случае ошибки выполнения метода) |
Пример
$dbh = $drh->connect_cached("dbi:Linter(database => DEMO):", "SYSTEM", "MANAGER8");