Создание кэшированного соединения (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");