首页 > 解决方案 > SQL Server EXPRESS:错误:26 - 安装后指定的服务器/实例错误定位

问题描述

(C#/.Net Framework4.0/VS2017)。使用 sqlcon expressconnection 数据库制作了 ac# windows 窗体,但不确定如何为其他客户端创建设置...

我已经制作了一个 Windows 窗体应用程序,其中包含一个带有 sqlconnection 的数据库。我使用高级安装程序来创建设置,因此我可以轻松地将 .mdf 和 .idf 文件与 prerequsites 一起放置。

添加连接字符串为:

 public static class DAL
    {
        public static DataTable ExecSP(string spName, List<SqlParameter> sqlParams = null)
        {
            string strConnect = "Server=PC\\SQLEXPRESS;Database=MyLoginApp;Trusted_Connection=True;";     
            SqlConnection conn = new SqlConnection();
            DataTable dt = new DataTable();

        try
        {
            //Connect to the database
            conn = new SqlConnection(strConnect);
            conn.Open();

            //Build an sql command / query
            SqlCommand cmd = new SqlCommand(spName, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddRange(sqlParams.ToArray());

            //Execute command
            SqlCommand command = conn.CreateCommand();
            SqlDataReader dr = cmd.ExecuteReader();

            //fill datatable with the results
            dt.Load(dr);


        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            //No matter what happends this will run
            conn.Close();
        }
        return dt;
    }
}

当它尝试执行以下代码时:

private void btnLogin_Click(object sender, EventArgs e)
    {
        List<SqlParameter> sqlParams = new List<SqlParameter>();
        sqlParams.Add(new SqlParameter("Username", TxtUsername.Text));
        sqlParams.Add(new SqlParameter("Password", txtPassword.Text));

        DataTable dtLoginResults = DAL.ExecSP("ValidateLogin", sqlParams);

        string eUser;
        string ePass;
        eUser = TxtUsername.Text;
        ePass = txtPassword.Text;


        if (dtLoginResults.Rows.Count == 1)
        {
            //We know login is valid
            string user = dtLoginResults.Rows[0]["Username"].ToString();
            MessageBox.Show(user + " Berhasil Masuk!");
            this.Hide();
            ListMeja lm = new ListMeja();
            lm.ShowDialog();
        }     
         else
        {
            //invalid login
            MessageBox.Show("Password Salah");
        }    
    } 

运行 .exe 程序后在其他客户端出现错误弹出窗口

您的应用程序中发生了未处理的异常。如果单击继续,应用程序将忽略此错误并尝试继续。与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。无法访问该服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)。

我在这里做错了什么?

标签: c#sql-serverdatabase-connectionsql-server-express

解决方案


请尝试从您的系统使用 SSMS 连接 SQL Server。成功登录后请 string strConnect = "Server=PC\\SQLEXPRESS;Database=MyLoginApp;Trusted_Connection=True;";根据 SSMS Connected 编辑您的连接字符串。


推荐阅读