簡體   English   中英

無法連接到本地 SQL Server 數據庫

[英]Trouble connecting to local SQL Server database

只是嘗試在 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; 
        }
    }
}

如果您使用的是 SQL Server Express並在安裝時使用了所有默認值,那么您有一個名為SQLEXPRESS的 SQL Server命名實例- 因此,您需要使用此連接字符串:

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

請注意,您需要使用localhost\\SQLEXPRESS連接到實例名稱為SQLEXRPESS命名實例

經過一整天的故障排除后,本指南有很大幫助。

https://success.scribesoft.com/s/article/Named-Pipes-Provider-Error-40

盡管這樣做之后我最終只使用了在 Sql server explorer 中單擊我的服務器后屬性框中提供的連接字符串。

我要感謝所有沒有投票但實際上幫助過我的人,我真的很感激。 我將 Marc_S 標記為答案,但想為可能閱讀此內容的任何其他人添加此內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM