2010-05-02 3 views
1

У меня есть система с несколькими различными базами данных, и я хотел бы проверить, не работает ли какая-либо база данных, и если это так отображает сообщение пользователю.Проверить активное соединение в NHibernate

Возможно ли в NHibernate проверить, существует ли активное соединение с базой данных, без необходимости запрашивать данные, а затем улавливать исключение?

ответ

2

Опросить state колонна sys.databases

ONLINE = OK, что-нибудь еще = не доступен

SELECT state FROM master.sys.databases WHERE [name] = 'MyDB' 

или

SELECT COUNT(*) FROM master.sys.databases WHERE [name] = 'MyDB' AND state = 'ONLINE' 
+0

Хорошо так что мне нужно, чтобы создать этот запрос, NHibernate не есть что-нибудь встроенное? – Dofs

+0

Не то, что я знаю ... вы просите что-то, что SQL Server и DB специфичны, а что сопоставление ORM – gbn

+1

Не можете ли вы просто запросить состояние ISession.Connection? – Berryl

Смежные вопросы