JDB c использовать только один сеанс с oracle для нескольких пользователей - PullRequest
0 голосов
/ 26 марта 2020

i hava adf приложение, использующее удаленную базу данных oracle через jdb c, к приложению будут обращаться несколько пользователей, которые создают разные сеансы на уровне базы данных. Например, если 20 пользователей откроют веб-страницу, в таблице v$session будет 20 записей сеанса. Я хочу ограничить один сеанс на уровне oracle базы данных, и если несколько пользователей подключаются, соединение должно быть одним, однако пользователь может ждать завершения оператора, и один завершенный следующий пользователь должен повторно использовать то же соединение jdb c, чтобы выполнить свой запрос

1 Ответ

1 голос
/ 26 марта 2020

Weblogi c имеет пул соединений с базой данных, которые будут доступны всем пользователям. Таким образом, вы не можете принудительно установить определенное физическое соединение для пользователя.

Шаблон для этого варианта использования - запуск вызова pl sql из ADF в сеанс базы данных каждый раз, когда пользователь ADF получает новый БД соединение, в котором вы передаете имя пользователя: http://adfcodebits.blogspot.com/2010/06/bit-21-overriding-preparesession-to-do.html

Вы должны помнить, что каждый щелчок получает соединение БД - использует его - затем освобождает его. Вы не можете кэшировать данные в v $ session.

...