要求写一个基于ASP.NET的MVC模式的网页,在网上找到了一个解决方案资源,结果发现一直出现数据库连接不上的问题。

问题遇到的现象和发生背景

代码是从网上下载到的一整个解决方案的文件,直接点击.sln后缀文件打开解决方案之后,运行就会出现错误:“System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)”

问题相关代码,请勿粘贴截图

public ActionResult Index()
{

        var data = db.ProdcutCategories.ToList();

        return View(data);
    }
运行结果及报错内容

img

我的解答思路和尝试过的方法

由于这个解决方案是2017年的,首先我尝试把一些nuget包换到更老一些的版本,这样以后由原来的三个错变成了现在的这一个
,(并不知道具体的原理是什么)
之后我又尝试根据解决方案文件里面的.mdf文件在项目中新建了数据库,但是依旧会报错(哭得很大声.jpg)

img

我想要达到的结果

怎么能把这个程序运行起来就已经很棒了

你好,
问题很明显, 肯定是你数据库连接的问题.那么请检查以下几个项目:
1.首先确保连接数据库的服务器参数配置是否正确
(1) 如果是直接通过 Microsoft SQL Server Management Studio连接,要检查IP地址(非默认端口还要写端口号),用户名和密码是否正确。
(2) 如果通过程序进行连接,要确保Web.Config连接字符串是否正确
2.检查远程服务是否开启和远程服务器配置是否正确。
(1)检查MSSQLSERVER服务是否开启
(2)SQL Server网络配置
a.启用TCP/IP 协议 :
开始->>SQLServer2005->>配置工具->>SQLServer外围应用配置器->> 服务和外围连接的应用配置器->>点击"远程连接"->>本地连接和远程连接->>同时使用TC
P/IP和named Pipes->>点"确定"->>重启SQLserver服务
b.右键右侧的TCP/IP 的属性,启用供外部连接的那个IP地址和端口
3.查看防火墙是否允许1433或者你设置的数据库端口通过

数据库连接字符串改下