NHibernate:BuildSessionFactory 期间实例失败

NHibernate: Instance failure during BuildSessionFactory

我正在尝试 NHibernate,一开始我得到:

System.InvalidOperationException: Instance failure.

at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, Boolean isFirstTransparentAttempt, SqlAuthenticationMethod authType)
... at System.Data.SqlClient.SqlConnection.Open()
at NHibernate.Connection.DriverConnectionProvider.GetConnection()
... at NHibernate.Cfg.Configuration.BuildSessionFactory()
at NHibernateDemo.Program.Main(String[] args)

配置为:

<hibernate-configuration xmlns = "urn:nhibernate-configuration-2.2">
<session-factory>
  <property name = "connection.connection_string">
    Data Source=localhost\SQLEXPRESS;Initial Catalog=NHibernateDemoDB;Integrated Security=SSPI
  </property>

  <property name = "connection.driver_class">
    NHibernate.Driver.SqlClientDriver
  </property>

  <property name = "dialect">
    NHibernate.Dialect.MsSql2012Dialect
  </property>

  <mapping assembly = "NHibernateDemo"/>
</session-factory>
</hibernate-configuration>

密码是:

    static void Main(string[] args)
    {
        var cfg = new NHibernate.Cfg.Configuration();
        cfg.Configure();

        var sessionFactory = cfg.BuildSessionFactory();

        Console.ReadLine();
    }

我该如何解决?

可能 SQL 服务器有问题?

问题是连接字符串中的双引号:改成这样。

Data Source=localhost\SQLEXPRESS; …

参考:Fixing "Instance Failure" when connecting to Sql Server