在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。

时间:2021-04-11 00:34:05
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

源错误: 


行 29:         cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar,50));
行 30:         cmd.Parameters["@password"].Value = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd, "MD5").ToString();//密码加密
行 31:         sms_conn.Open();
行 32:         SqlDataReader dr = cmd.ExecuteReader();
行 33:         if (dr.Read() == true)

源文件: e:\zhz\web--ASP\StudentManageSystem_293ea3a1-d3d4-477c-89e4-713c7a34717b\Logoin.aspx.cs    行: 31 

堆栈跟踪: 


[SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)]
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +428
   System.Data.ProviderBase.DbConnectionPool.PoolCreateRequest(Object state) +303
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.SqlClient.SqlConnection.Open() +122
   Logoin.Button1_Click(Object sender, EventArgs e) in e:\zhz\web--ASP\StudentManageSystem_293ea3a1-d3d4-477c-89e4-713c7a34717b\Logoin.aspx.cs:31
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

6 个解决方案

#1


public partial class Logoin : System.Web.UI.Page
{
    SqlConnection sms_conn;
    public int PageCount, PageSize, RecordCount, CurrentPage;
    protected void Page_Load(object sender, EventArgs e)
    {
        string sms_connstr =System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"];
        // 建立连接
        sms_conn = new SqlConnection(sms_connstr);
      
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string str_pwd = this.mypassword.Text.Trim().Replace("'", "''");
        string sqlstr = "select usertype from Users where username='"+ username.Text+"'and mypassword=@password";
        SqlCommand cmd = new SqlCommand(sqlstr,sms_conn);
        cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar,50));
        cmd.Parameters["@password"].Value = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd, "MD5").ToString();//密码加密
        sms_conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read() == true)
        {            
            Session["user"] = this.username.Text.Trim();//管理员用户,Session进行传值
            Session["type"] = dr["userType"].ToString().Trim();//管理员类型
            FormsAuthentication.RedirectFromLoginPage(username.Text, false);
            sms_conn.Close();
        }
        else
        { 
           sms_conn.Close();
           message.Text = "您必须输入有效的用户名和密码!";
        } 

    }
}

#2


连不上数据库。。

#3


引用 2 楼 qwertywhb 的回复:
连不上数据库。。
我只能说你需要配置一下SqlServer

#4


http://blog.csdn.net/kangcuiping/article/details/51444418

#5


sms_dbconn指向的数据库连不上,如果是客户端连接远程数据库,检查一下IP或端口有没有问题

#6


1.用已知的实例名登录SQL管理器测试连接,登录成功则排除连接设置不正确的肯能性。如果连接不成功,根据提示调整吧,包括实例名、用户名、密码等
2.端口问题 可能其它程序占用1433端口(SQL默认端口)了,要不找到最近安装的程序卸载下,要不SQL 配置管理器中修改协议端口
3.看下SQL服务是否正常开启
4.防火墙关掉

#1


public partial class Logoin : System.Web.UI.Page
{
    SqlConnection sms_conn;
    public int PageCount, PageSize, RecordCount, CurrentPage;
    protected void Page_Load(object sender, EventArgs e)
    {
        string sms_connstr =System.Configuration.ConfigurationManager.AppSettings["sms_dbconn"];
        // 建立连接
        sms_conn = new SqlConnection(sms_connstr);
      
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string str_pwd = this.mypassword.Text.Trim().Replace("'", "''");
        string sqlstr = "select usertype from Users where username='"+ username.Text+"'and mypassword=@password";
        SqlCommand cmd = new SqlCommand(sqlstr,sms_conn);
        cmd.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar,50));
        cmd.Parameters["@password"].Value = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_pwd, "MD5").ToString();//密码加密
        sms_conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read() == true)
        {            
            Session["user"] = this.username.Text.Trim();//管理员用户,Session进行传值
            Session["type"] = dr["userType"].ToString().Trim();//管理员类型
            FormsAuthentication.RedirectFromLoginPage(username.Text, false);
            sms_conn.Close();
        }
        else
        { 
           sms_conn.Close();
           message.Text = "您必须输入有效的用户名和密码!";
        } 

    }
}

#2


连不上数据库。。

#3


引用 2 楼 qwertywhb 的回复:
连不上数据库。。
我只能说你需要配置一下SqlServer

#4


http://blog.csdn.net/kangcuiping/article/details/51444418

#5


sms_dbconn指向的数据库连不上,如果是客户端连接远程数据库,检查一下IP或端口有没有问题

#6


1.用已知的实例名登录SQL管理器测试连接,登录成功则排除连接设置不正确的肯能性。如果连接不成功,根据提示调整吧,包括实例名、用户名、密码等
2.端口问题 可能其它程序占用1433端口(SQL默认端口)了,要不找到最近安装的程序卸载下,要不SQL 配置管理器中修改协议端口
3.看下SQL服务是否正常开启
4.防火墙关掉

相关文章