Возможно ли выполнить запрос каждый раз при открытии нового подключения к базе данных. Этот запрос необходимо запустить сразу же после открытия соединения с базой данных, потому что этот запрос вызывает хранимую процедуру, которая устанавливает различное управление доступом в таблицах, используя сведения о пользователе, который запросил выполнить запрос. Я попытался назвать эту хранимую процедуру в разных местах, и все они успешны, но мне хотелось бы получить обратную связь.Выполнение запроса при каждом подключении к базе данных Zend FM
Я поставил этот запрос в абстрактном классе сопоставления, который расширяют другие карты. Каждый раз, когда создается экземпляр нового экземпляра, вызывается хранимая процедура.
Другое место для вызова этого вызова в хранимую процедуру до вызова других методов сопоставления. Недостатком этого является то, что будет много дубликатов кода (код, который вызывает хранимую процедуру).
Последнее место, где можно позвонить, находится в Bootstrap.php. Каждый метод _init в этом файле должен запускаться только один раз при каждом загрузке приложения. Я решил поместить этот вызов в хранимую процедуру в один из Bootstrap.php для одного из наших модулей. Это пока лучшее место, о котором я могу думать, потому что мне нужно написать код, который вызывает хранимую процедуру один раз и каждый раз, когда приложение будет доступно, будет запущен метод инициализации. Недостатком этого является то, что я не знаю, какие побочные эффекты укладываются в Bootstrap.php.
Одним из основных недостатков всех этих мест является то, что хранимая процедура вызывается много раз. Чтобы управление доступом работало, хранимая процедура должна вызываться только один раз на сеанс базы данных. Это не вызовет никаких проблем, кроме скорости из-за ненужных вызовов.
Есть ли лучшие места для вызова этого вызова в хранимую процедуру? У Zend FM эта функция реализована где-то? Есть ли что-нибудь, что мне нужно принять во внимание, если я положил его в файл Bootstrap.
Спасибо, что прочитали эту и любую предоставленную помощь.
- DB2 Версии 10.5
- Linux Platform
- Зенд FM Version 2
Пожалуйста, укажите версию DB2 и платформу. – mustaccio