在应用程序配置中找不到连接名称“LocalSqlServer”或连接字符串为空
Posted
技术标签:
【中文标题】在应用程序配置中找不到连接名称“LocalSqlServer”或连接字符串为空【英文标题】:The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty 【发布时间】:2012-06-14 14:49:54 【问题描述】:所以昨天我在我的开发机器上安装了 php 和 mysql。从那时起,我在尝试运行我的一个 .NET 项目时收到以下错误:
在应用程序配置中未找到连接名称“LocalSqlServer”或连接字符串为空。
它引用了 Machine.Config 的这一行:
<add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
我在网上搜索过,高低都可以确认我的machine.config有必要的连接字符串:
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="LocalMySqlServer" connectionString="" />
有趣的是,我在生产服务器(服务器 2008)上执行了完全相同的安装 PHP 和 MySQL 的操作,并且没有问题。我的开发机器是 Windows 7。
因此,我的整个开发机器都坏了。如何修复 machine.config 或修复它并解决此问题?有没有人经历过这种情况?
小牛
【问题讨论】:
【参考方案1】:也许某处有一个 web.config,其中包含:
<connectionStrings>
<clear/>
...
</connectionStrings>
您可能还需要仔细检查您正在查看的 machine.config 是否正确。每个框架版本都有单独的 machine.config,对于 32 位和 64 位框架也有单独的。
【讨论】:
所以出于某种奇怪的原因。一个完全不相关的 web.config 文件有:出于各种原因,我需要将<clear />
保留在我的连接字符串的顶部,虽然添加一个名为LocalSqlServer
的虚拟连接字符串的解决方案有效,但由于“我不知道我们为什么需要它,但没有它,应用程序就无法工作”。
我的解决方案是删除下面的 roleManager
行,因为它是旧代码遗留下来的,不再需要。
<system.web>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
</system.web>
【讨论】:
以上是关于在应用程序配置中找不到连接名称“LocalSqlServer”或连接字符串为空的主要内容,如果未能解决你的问题,请参考以下文章
在应用程序配置中找不到LocalSqlServer或连接字符串为空
在应用程序配置文件中找不到名为“MyApplicationEntities”的连接字符串
在应用程序配置文件中找不到名为“MyEntities”的连接字符串
发生了错误。 : 在应用程序配置文件中找不到名为“EmployeeDBEntities”的连接字符串
在应用程序配置文件中找不到名为“x”的连接字符串......但它有效吗?
在 JMETER JDBC 连接配置中找不到适合 jdbc:mysql://localhost:3306/Testing 的驱动程序