连接到本地 SQL Server 数据库时出现问题

只是想在 Visual Studio 中做一个简单的本地数据库连接到 Microsoft SQL Server。试图弄清楚为什么它没有连接。我为此专门创建了一个用户,并拥有正确的用户名和密码。我故意省略了用户 ID 和密码。似乎在我的连接字符串中抛出错误,我做错了什么?


System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)


我的代码:


using System;

using System.Collections.Generic;

using System.Data.SqlClient;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;


namespace Assetmvc

{

    public partial class SearchPage : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            // Connect to the db

            string connStr = "Server=localhost;Database=AssetTracking;User Id=;Password=; ";

            SqlConnection conn = new SqlConnection(connStr);

            conn.Open();


            // Create a command

            SqlCommand cmd = new SqlCommand("SELECT [EmployeeId],[FirstName],[LastName],[HiredDate],[FiredDate],[CurrentItems],[SupervisorId],[SupervisorName] From [dbo].Employees");

            cmd.CommandType = System.Data.CommandType.Text;

            cmd.Connection = conn;


            string temp = "";


            // Read from database

            SqlDataReader reader = cmd.ExecuteReader();


            while(reader.Read())

            {

                temp += reader["EmployeeId"].ToString();

                temp += reader["FirstName"].ToString();

                temp += reader["LastName"].ToString();

                temp += reader["HiredDate"].ToString();

                temp += reader["FiredDate"].ToString();

                temp += reader["CurrentItems"].ToString();

                temp += reader["SupervisorId"].ToString();

                temp += reader["SupervisorName"].ToString();

                temp += 


                temp += "<br/>";

            }


            conn.Close();


            lbl_test.Text = temp; 

        }

    }

}


catspeake
浏览 137回答 2
2回答

慕码人2483693

如果您使用的是 SQL Server&nbsp;Express并在安装时使用了所有默认值,那么您有一个名为 - 的 SQL Server命名实例,SQLEXPRESS因此,您需要使用此连接字符串:string&nbsp;connStr&nbsp;=&nbsp;"Server=localhost\\SQLEXPRESS;Database=AssetTracking;User&nbsp;Id=;Password=;&nbsp;";请注意,您需要使用实例名称localhost\SQLEXPRESS连接到命名实例SQLEXRPESS。

犯罪嫌疑人X

经过一整天的故障排除后,本指南有很大帮助。https://success.scribesoft.com/s/article/Named-Pipes-Provider-Error-40尽管这样做之后,我在 Sql server explorer 中单击我的服务器后,最终只使用了属性框中提供的连接字符串。我要感谢所有没有投票并实际上提供帮助的人,我真的很感激。我将 Marc_S 标记为答案,但想为其他可能阅读此内容的人添加此内容。
打开App,查看更多内容
随时随地看视频慕课网APP