我遇到了一个问题:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供商:SQL Network Interfaces,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。)
我似乎无法连接到我的
nhibernate.xml
中配置的本地数据库。使用其他形式的连接(ADO.net、EntityFrameWork)时,相同的连接字符串也有效。我在这里错过了什么吗?
这是我的 xml 文件:
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Server=(localdb)\mssqllocaldb;Database=my_database;Trusted_Connection=True;MultipleActiveResultSets=true</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
</session-factory>
</hibernate-configuration>
我已经尝试将反斜杠更改为双,删除 localdb 以及连接字符串的任何其他组合。
我设法解决了这个问题。显然。 nhibernate 不接受通常的连接字符串关键字。我所做的是使用命名管道。这就是我所做的
打开CMD
运行以下命令列出所有实例
SqlLocalDB.exe 信息
然后运行命令
SqlLocalDB.exe 信息 MyInstance
复制实例管道名称
如果实例管道名称为空,请确保您的服务器正在运行并尝试通过 SQL 连接到您的服务器。