首页 > 解决方案 > ADO.NET 多个连接字符串无法找到本地数据库

问题描述

我曾经使用一个数据库运行站点,但现在我们在第二个数据库上扩展了新功能。我突然遇到这样的异常,我不确定它是否与连接字符串有关,有经验的人可以给我一个线索。

注意:用户可以正常连接,但会话到期后,我会在日志中得到这个:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用。)

内部异常:

System.ComponentModel.Win32Exception (0x80004005): 系统找不到指定的文件

我使用 2 个连接字符串运行站点,如下所示:

  <connectionStrings>
 <add name="db_entity1" connectionString="metadata=res://*/Models.AliModel.csdl|res://*/Models.AliModel.ssdl|res://*/Models.AliModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.200.6;initial catalog=dbname;user id=dbusername;password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  <add name="db_ProductionEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.200.2;initial catalog=maindatabasename;user id=databaseusername;password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>

    <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
                  <parameters>
                    <parameter value="mssqllocaldb" />
                  </parameters>
                </defaultConnectionFactory>
                <providers>
                  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
                </providers>
              </entityFramework>

db_ProductionEntities 是用户连接到网站的默认连接(这是用户名和电子邮件所在的位置)。第二次连接仅用于新功能。

标签: sql-serverentity-frameworkado.net

解决方案


删除 defaultConnectionfactory 设置


推荐阅读