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

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

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

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

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

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


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