NHibernate 3.3与SQL Server 2012 Express一起使用吗?

时间:2013-09-25 19:46:38

标签: asp.net-mvc-4 nhibernate visual-studio-2012 nhibernate-mapping sql-server-express

我无法使用NHibernate连接到SQL Server 2012 Express。

我得到了

  

不支持关键字:'server'。

异常。使用Data Source代替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> 

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

可能不支持Convert Zero Datetime?否则,请查看Hbm2DDLKeywords。您可能有一些带有SQL Express保留关键字的类。

答案 1 :(得分:0)

Convert Zero Datetime仅是MySQL连接字符串参数。如果我将它添加到SQL Server连接字符串,我会得到“不支持关键字:'转换零日期时间'”,我不确定为什么您的错误消息表明该服务器不受支持,但我认为从中移除Convert Zero Datetime连接字符串将解决问题。

连接字符串参数有别名,我认为你可以混合和匹配但是对于记录我的SQL Server连接字符串通常是

形式
Server=myserver;Database=mydatabase;Uid=myuser;Pwd=mysecretpassword;