Проблема с подключением к локальной базе данных SQL Server - PullRequest
0 голосов
/ 15 января 2019

Просто пытаюсь создать простую локальную базу данных для подключения к Microsoft SQL Server в Visual Studio. Пытаюсь выяснить, почему он не подключается. Я сделал пользователя специально для этого и имею правильное имя пользователя и пароль. Я намеренно пропустил Идентификатор пользователя и Пароль. Кажется, выдает ошибку в строке подключения, что я делаю не так?

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; 
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 16 января 2019

После устранения неполадок в течение всего дня это руководство очень помогло.

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

Хотя после этого я просто использовал строку подключения, указанную в окне свойств, после нажатия на мой сервер в Sql server explorer.

Я хочу поблагодарить всех, кто не понизил голос и фактически помог, я действительно ценю это. Я отмечаю Marc_S как ответ, но хотел бы добавить это для всех, кто мог бы прочитать это.

0 голосов
/ 15 января 2019

Если вы используете SQL Server Express и при установке использовали все значения по умолчанию, то у вас есть SQL Server с именем экземпляра с именем SQLEXPRESS - и, следовательно, вам нужно использовать эту строку подключения:

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

Обратите внимание, что вам нужно использовать localhost\SQLEXPRESS для подключения к именованному экземпляру с именем экземпляра SQLEXRPESS.

...