nhibernate 配置未连接到数据库

问题描述 投票:0回答:1

我遇到了一个问题:

建立与 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 以及连接字符串的任何其他组合。

sql-server nhibernate connection-string
1个回答
0
投票

我设法解决了这个问题。显然。 nhibernate 不接受通常的连接字符串关键字。我所做的是使用命名管道。这就是我所做的

  1. 打开CMD

  2. 运行以下命令列出所有实例

    SqlLocalDB.exe 信息

  3. 然后运行命令

    SqlLocalDB.exe 信息 MyInstance

  4. 复制实例管道名称

如果实例管道名称为空,请确保您的服务器正在运行并尝试通过 SQL 连接到您的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.