powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate: как вызывать ХП Oracle при каждом новом соединении с БД?
3 сообщений из 3, страница 1 из 1
NHibernate: как вызывать ХП Oracle при каждом новом соединении с БД?
    #37149904
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток

В базе данных имеется внутренняя система безопасности (таблицы пользователей, привилегий и т.д.). Написан набор хранимых процедур для создания/изменения/удаления записей. После подключения к БД нужно вызвать процедуру а-ля "Login(db_user, db_user_password)". Когда клиент вызывает ХП управления записями (типа "ArticleUpdate", "DepartmentInsert" и т.д.) внутри этих ХП происходит проверка права пользователя на выполнение данной ХП. Т.е. не пользователя Oracle, а пользователя из внутренней таблицы пользователей БД.

Прочитал "NHibernate in action", сделал несколько тестовых примеров, но на вопрос ответа не нашел. Если в NHibernate каждый сеанс изменения свойств объекта выполняется в рамках отдельного подключения к БД, то придется каждый раз "логиниться", а это затратно.

Соответственно, первый вопрос: как это сделать так, чтобы логиниться (по сути - выполнять некую ХП или набор ХП) перед операциями над объектом, но когда NHibernate уже получил из пула соединение с БД?

И второй вопрос: как вообще решается задача сохранения/активации подключения к БД в NHibernate? Т.е. чтобы не приходилось каждый раз заниматься инициализацией структур данных "пользовательской сессии" внутри базы данных.
...
Рейтинг: 0 / 0
NHibernate: как вызывать ХП Oracle при каждом новом соединении с БД?
    #37150485
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JohnSparrow,

Самый простой вариант - это открывать сессию, передавая ей заранее открытое соединение. Сессия не будет его закрывать.
...
Рейтинг: 0 / 0
NHibernate: как вызывать ХП Oracle при каждом новом соединении с БД?
    #37151338
JohnSparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, Ваш вариант подойдет. Спасибо большое.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate: как вызывать ХП Oracle при каждом новом соединении с БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]