2016-10-06 6 views
-1

私は長い間、流暢なnhibernateを使用しています。データベースが更新されるまでは正常に動作しています。以前私は、SQL Server 2012を使用して、アプリケーションでデータベースに接続しようとすると2016年にそれを更新しました、それはエラーがスローされます。nhibernateでデータベースを接続中にシステムがファイルを見つけることができません

The system cannot find the file specified.

それが接続しようとしたとき。私の接続機能は以下の通りです

Fluently.Configure().Database(MsSqlConfiguration.MsSql2005.ShowSql().ConnectionString(x=> x.FromConnectionStringWithKey("imConnectionString2"))).Mappings(m=> m.FluentMappings.AddFromAssemblyOf<MapUsers>()).BuildSessionFactory(); 

これはデータベースの更新前に正常に機能していました。私はMsSql2005MsSql2012に変更しますが、同じ結果になります。

Fluent Nhibernateの側面や設定で何かする必要がありますか?

どれでも援助してください

+0

完全な例外情報を追加します。 –

+0

問題を解決した場合は、フィードバックをお聞かせください。 –

+0

あなたの応答をありがとうが、それは私のために働いていなかったので、私は古いサーバーを使用するように戻った –

答えて

0

のSQL Server 2016 ためのクライアント接続での大きな変化は、この変更は、SQLクライアントによるものでありサポート、WindowsとLinuxのような他のO.Sになってきています。

Microsoft ODBC Driver 13 for SQL Server - Windows https://www.microsoft.com/en-us/download/details.aspx?id=50420

レビューインストール:Installing SQL Server Native Client

SQL Serverのネイティブクライアント(SNAC)はSQL Serverのを超えて新しい開発作業ではSNACを使用して、2012年避けをサポートし、現在のアプリケーションを変更することを計画されていませんがこれを使って。 SQL Server用のMicrosoft ODBC DriverはNHibernateはを設定する前に、MicrosoftのSQL Serverの

へのWindowsからのネイティブ接続を提供し、あなたは(サーバー2016-はそれをダウンロード用)sqlcmdのツールを使用してSQL Server 2016に接続できることを確認してください

更新:

msodbcsql.msiという名前のドライバをインストールすると、実際はsql 2012クライアントのドライバと同じです。

class FluentNHibernateTest 
{ 
    private static ISessionFactory CreateSessionFactory() 
    { 
     //also MsSqlConfiguration.MsSql2005 is working 
     return Fluently.Configure() 
       .Database(
        MsSqlConfiguration.MsSql2012.ShowSql() 
         .ConnectionString(x => x.FromConnectionStringWithKey("test16"))) 
       .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Program>()) 
       .BuildSessionFactory(); 
    } 
    public static string GetSqlVersion() 
    { 
     string sql = "select @@version version"; 
     var sessionFactory = CreateSessionFactory(); 

     using (var session = sessionFactory.OpenSession()) 
     { 
      var query = session.CreateSQLQuery(sql); 
      var result = query.UniqueResult(); 
      Console.WriteLine(result); 

      return result.ToString(); 
     } 
    } 
} 

出力結果:

は、私は、ライブラリFluentNHibernateのV 2.0.3を使用してSQLサーバ2016に接続し、正常に次のコードを実行し、Windows 7の(32ビット)でドライバをインストール
 FluentNHibernateTest.GetSqlVersion(); 

    Microsoft SQL Server 2016 (RTM-CU1) (KB3164674) - 13.0.2149.0 (X64) 
    Jul 11 2016 22:05:22 
    ....... 
関連する問題