ASP.NET MVC数据库无法访问。

5
我下载了一个开源的MVC项目,但是无法运行。作者在备忘录中提到我应该将数据库所有者更改为自己,但我不知道如何操作。同时,在SQL Server对象资源管理器中看不到该数据库。

出现了类型为“System.Data.Entity.Core.ProviderIncompatibleException”的异常,但未在用户代码中处理

额外的信息:访问数据库时发生错误。这通常意味着连接到数据库失败。请检查连接字符串是否正确,并确保使用适当的DbContext构造函数指定它或在应用程序的配置文件中找到它。

请参阅http://go.microsoft.com/fwlink/?LinkId=386386 以获取有关DbContext和连接的信息。有关失败详细信息,请参见内部异常。

错误指向此处

public override TEntity ReadOne(ISpecification<TEntity> spec) {
    return this.set.Where(spec.IsSatisfied).FirstOrDefault();
}

web.config:

<connectionStrings>
    <add name="mvcForum.DataProvider.MainDB" connectionString="Data Source=SERVERNAMEorSERVERNAME\INSTANCE;Initial Catalog=DBNAME;User ID=USER;password=PASSWORD"/>
    <!--add name="mvcForum.DataProvider.MainDB" connectionString="Data Source=.\SQL2008r2Express;Initial Catalog=mvcforum;User ID=test;password=test;" providerName="System.Data.SqlClient" />-->
    <!--<add name="User.MongoDB" connectionString="mongodb://localhost/mvcforum" />-->
</connectionStrings>

你能否包含展示如何实例化你的DbContext派生类的代码? - Martin Costello
(1) 你是否有 SQL 版本(首选)-例如 express? (2) MVC 项目需要什么数据库要求?例如恢复备份数据库或只是访问数据库(因此暗示您必须在计算机上拥有某个 SQL 实例)? - EdSF
出乎意料的是,即使我的 SQL Server 数据库处于停止状态,我仍然得到相同的错误。这个错误信息真是太欺骗人了 :P。我的连接字符串没有问题。 - RBT
1个回答

12

您需要更改连接字符串,最简单的方法是在Visual Studio中打开服务器资源管理器,然后添加新连接。创建到数据库的连接后,从属性窗口复制并粘贴连接字符串。


非常感谢!我刚刚打开了服务器资源管理器,当我尝试创建新的 SQL Server 数据库时,“服务器名称”一栏没有显示任何内容,当我点击“确定”后,弹出窗口显示“网络相关错误...未找到或无法访问服务器。”我检查了我的计算机服务,只有一个名为“SQL Server VSS Writer”的 SQL 服务已启动,我是否缺少某些组件? - user2840454
1
在该对话框中,您应输入 SQL Server 实例的名称,尝试将其设置为“.”(表示本地计算机默认实例),并将身份验证模式设置为 Windows 身份验证。 您是否已安装 SQL Server?为确保,请转到开始>程序>SQL Server>配置工具>SQL 配置管理器,并运行它,然后查看是否有任何正在运行的 SQL 实例。 - Reza
您,先生,是一个救命恩人! - Joseph Woodward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接