vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接

    Key Words:VS2015,SQLServer2017,C#,连接本地(本机)数据库

    今日得空把数据库应用课上cdj老师讲的示例运行一下,发现一直出现 “ 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且SQLServer已配置为允许远程连接。(provider:Named Pipes Provider,error:40 - 无法打开到SQLServer的连接)” 的报错提示窗口。

vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接_第1张图片

    我按照以下这两篇博客的操作进行排错,最终成功在vs上连接本地数据库。

    ① 解决SQL Server管理器无法连接远程数据库的问题

    ② vs2015如何连接sql数据库

    鸣谢!

    1. 打开SQL Server Configuration Manager,起初并未在“开始”菜单栏中找到该配置管理器,在 SQL Server Configuration Manager not found 中找到 SQLServerManager14.msc 命令,it works.

  • 较新的Microsoft SQL Server配置管理器是Microsoft管理控制台程序的管理单元。

它不是以前版本的Microsoft Windows操作系统中使用的独立程序。

  • 运行Windows 8时,SQL Server配置管理器不显示为应用程序。
  • 要打开SQL Server配置管理器,请在“搜索”超级按钮下的“应用”下,键入:

    SQLServerManager14.msc 对于[SQL Server 2017]或

    SQLServerManager13.msc 对于[SQL Server 2016]或

    SQLServerManager12.msc 对于[SQL Server 2014]或

    SQLServerManager11.msc 对于[SQL Server 2012]或

    SQLServerManager10.msc对于[SQL Server 2008],然后按Enter键即可。

  • vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接_第2张图片

              打开以上“正在运行”的,也可以在“服务”中手动打开。

              vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接_第3张图片

  • 启用“TCP/IP 、Named Pipes

             vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接_第4张图片

    2. 照着在防火墙里给SQL Server添加例外:高级设置 - 入站规则 - [右击]新建规则 - 依次添加程序、端口。

        Name: SQL  ; Port Number: 1433  ; Protocol: Select TCP

    3. 在SQL Server管理器中启用远程连接

        打开SQL Server Management Studio,[右击]数据库实例,选择属性菜单,勾选允许远程连接。

    4. 在vs2015中

        点工具 - 连接到数据库 - 添加数据源:Microsoft SQL Server (SqlClient) , 服务器名:(我是本地的LAPTOP-GTP*****),选择要连接的数据库:db1210,左下角“测试连接”成功,右下角“高级”中复制 “Data Source=LAPTOP-GTP****\SQLEXPRESS;Initial Catalog=db1210;Integrated Security=True” 。

    5. 每个人的连接语句可能是不一样的,我在本地的数据库,一开始能显示如下图已连接成功的模样,但是还是会报“error:40 - 无法打开到SQLServer的连接”的错误,无法真正连接上数据库。

         vs2015与SQLserver建立连接时报错error40:无法打开到SQLserver的连接_第5张图片

        重点在将上面复制的话复制到以下绿色处。

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
public partial class Form1 : Form
    {
        SqlConnection sqlConn = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                sqlConn = new SqlConnection("Data Source=LAPTOP-GTP*****\\SQLEXPRESS;Initial Catalog=db1210;Integrated Security=True");
                SqlCommand cmd = new SqlCommand("select pro_id, pro_name,pro_sonsum from product where pro_parid = 0 order by orderNo", sqlConn);
                
                ......


            }
            catch (SqlException er)
            {
                MessageBox.Show(er.Message);
            }
        }

        重新运行一下即可。

 

 

你可能感兴趣的:(学习笔记)