我遇到了一个似乎不知从何而来的问题,我迷路了。
我正在使用 SQL Server 2012,并且能够使用默认连接连接到数据库,以便使用成员资格实体。
现在,每当我尝试登录或注册时,都会出现以下错误:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
在我看到的错误页面下方:
SQLExpress 数据库文件自动创建错误:
连接字符串使用应用程序 App_Data 目录中的数据库位置指定本地 Sql Server Express 实例。提供者试图自动创建应用程序服务数据库,因为提供者确定该数据库不存在。成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库需要以下配置要求:
如果应用程序在 Windows 7 或 Windows Server 2008R2 上运行,则需要特殊的配置步骤来启用提供程序数据库的自动创建。其他信息可在以下网址获得:http: //go.microsoft.com/fwlink/ ?LinkId=160102. 如果应用程序的 App_Data 目录尚不存在,则 Web 服务器帐户必须具有对应用程序目录的读写权限。这是必要的,因为如果 App_Data 目录不存在,Web 服务器帐户将自动创建它。如果应用程序的 App_Data 目录已经存在,则 Web 服务器帐户只需要对应用程序的 App_Data 目录具有读写权限。这是必要的,因为 Web 服务器帐户将尝试验证 Sql Server Express 数据库是否已存在于应用程序的 App_Data 目录中。从 Web 服务器帐户撤消对 App_Data 目录的读取访问权限将阻止提供程序正确确定 Sql Server Express 数据库是否已存在。当提供程序尝试创建现有数据库的副本时,这将导致错误。需要写入权限,因为在创建新数据库时会使用 Web 服务器帐户的凭据。机器上必须安装 Sql Server Express。Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机和域帐户创建本地用户配置文件的详细信息,请参阅自述文件。
我没有运行 sqlexpress,并且在我的 webconfig 中没有任何地方指向 sqlexpress。
这是连接字符串代码的副本:
<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=TheYogaDen;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="TheYogaDenEntities" connectionString="metadata=res://*/App_Code.DAL.TheYogaDenModel.csdl|res://*/App_Code.DAL.TheYogaDenModel.ssdl|res://*/App_Code.DAL.TheYogaDenModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost;initial catalog=TheYogaDen;user id=YogaDBUser;password=Yoga!@#$;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
我可以使用该连接连接到 VS 服务器资源管理器中的数据库。但是,当我转到 ASP.net Web 配置工具并尝试测试我的提供程序时,它告诉我没有配置任何内容。我运行 aspnet_regsql 并配置数据库以进行连接,但错误仍然存在。
有任何想法吗?