質問: NHibernateで接続パラメータをテストする ユーザーがデータベース接続パラメータを指定できるプログラムがあります。ホスト、ポート、ユーザー名、パスワード、テーブル名などの通常の疑いがあるもの。 NHibernateを使用してデータベースに接続しています。私たちがやりたいことは、NHibernateを使って設定を構築してから、他の操作を続ける前に接続パラメータをテストできることです。ユーザに障害を通知する。 これはNHibernateを介して行うことが可能か、それともサポートする各データベースタイプを使用し、それぞれのタイプに対してカスタムのTestConnection()メソッドを作成する必要がありますか?
回答: 私はこれが古い投稿であることを認識していますが、質問に対する回答は決して痛いものではないと思います。 私は、NHibernateに接続文字列をテストするように明示的に指示する方法はないと思います。ただし、SessionFactoryをインスタンス化すると、データベースに接続しようとします。 Try/CatchでSessionFactoryの作成をラップし、そのようにエラーを処理することができます。 私はFluent NHibernateを使用していますが、次の例でも状況を説明できると確信しています。 ``` Dim sf as SessionFactory Try sf = CreateSessionFactory() Catch ex as FluentNHibernate.Cfg.FluentConfigurationException Messagebox.Show(ex.InnerException.Message) End Try ``` `ex.InnerException.Message` には実際のエラーが含まれています。 * 接続文字列が無効です * サーバーが見つかりませんでした * ユーザー/パスを認証できませんでした