2

NHibernate を使用して SQL Server 2012 Express に接続できません。

私は得る

キーワードはサポートされていません: 'server'。

例外。サーバーの代わりにデータ ソースを使用すると、同じ例外が発生します。最近、DB を MySql から SQL Server Express に切り替えました。すべての CRUD を実行しても問題はありませんでした。MySql での操作。

私のhibernate.cfg.xmlファイルは次のとおりです。

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
     <session-factory>    
          <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
          <property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
          <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>    
          <property name="connection.connection_string">
                                              "Server=MyServer;
                                               Initial Catalog =MyDB;
                                               User Id=MyUserID;
                                               Password=MyPW;
                                               Convert Zero Datetime=True"

          </property>
          <property name="show_sql">true</property>
     </session-factory>
</hibernate-configuration> 

どんな助けでも大歓迎です。

4

2 に答える 2

1

Convert Zero Datetimeサポートされていないのではないでしょうか?それ以外の場合は、Hbm2DDLKeywords を調べてください。SQL Express の予約済みキーワードを持つクラスがいくつかある場合があります。

于 2013-09-25T19:52:55.213 に答える
0

Convert Zero DatetimeMySQL 接続文字列パラメーターのみです。それを SQL Server 接続文字列に追加すると、「Keyword not supported: 'convert zero datetime'」というメッセージが表示され、サーバーがサポートされていないというエラー メッセージが表示される理由がわかりませんがConvert Zero Datetime、接続文字列から削除すると修正されると思います問題。

接続文字列パラメーターにはエイリアスがあり、組み合わせて一致させることができると思いますが、記録のために、私の SQL Server 接続文字列は通常次の形式です

Server=myserver;Database=mydatabase;Uid=myuser;Pwd=mysecretpassword;
于 2013-09-25T20:39:15.453 に答える