在建立与SQL Server 2005 服务器的连接时出错

今天在做Asp。Net 和数据库连接时,本来认为一个很简单程序,运行时也没有出错,却在往数据库插入数据时报了下面的错。困扰了半天,仔细察看代码,没有错误,上网搜解决方案,按照他们贴出来的方法重新配置了一下我的数据库,可还是不行。最后,在高手的指点下,终于把问题给解决啦。现在把自己的代码和解决方案贴出来,以供以后会遇到类似问题的朋友们参考。

程序代码:Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Default : System.Web.UI.Page
{
    public SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=123456;database=animator;Trusted_Connection=no");

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Expires = -1;
        if (!Page.IsPostBack)
        {
        }
    }
    protected void Insert_Click(object sender, EventArgs e)
    {
        conn.Open();
        string name = this.TextBox1.Text;
        string phone = this.TextBox1.Text;
        string msn = this.TextBox3.Text;
        string sql1 = "insert into Abb(Sname,Sphone,Smsn) values('"+name+"','"+phone+"','"+msn+"')";
        SqlCommand cmd1 = new SqlCommand(sql1,conn);
        cmd1.ExecuteNonQuery();
        conn.Close();
        Response.Write("<script>alert('insert成功!')</script>");
    }
    protected void Display_Click(object sender, EventArgs e)
    {
        conn.Open();
        this.TextBox4.Text = "";
        string sql2 = "select * from Abb";
        SqlCommand cmd2 = new SqlCommand(sql2, conn);
        SqlDataReader reader;
        reader = cmd2.ExecuteReader();
        for (int i = 0; i < reader.FieldCount; i++)
        {
            this.TextBox4.Text += reader.GetName(i)+"\t";
        }
        TextBox4.Text += "\r\n";
        while (reader.Read())
        {
            for (int i = 0; i < reader.FieldCount; i++)
            {
                TextBox4.Text += reader[i].ToString()+"\t";
            }
            TextBox4.Text += "\r\n";
        }
        conn.Close();    }
}

报错消息: 在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

 解决方案: 
把登陆方式设为:SQL Server and Windows Authentication mode.在Microsoft SQL Server Management Studio Express以两种方式都可登陆.   最重要,servers服务开启。
1.安装一个SQLServer的管理工具(VS2005只有配置工具),据说微软的官方网站有下。
2.开启sql2005远程连接功能,开启办法如下:
配置工具->sqlserver外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的DatabaseEngine 节点,选择"远程连接",接下建议选择"同时使用TCP/IP和namedpipes",确定后,重启数据库服务就可以了.
3.登陆设置改为,Sql server and windowsAuthentication方式同时选中,具体设置如下:
manage管理器->windowsAuthentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属性>security>Sqlserver and windows Authentication方式同时选中.
4:设置一个Sql server方式的用户名和密码,具体设置如下:
进入manage管理器后,找到服务器下的Security->Logins->sa,右键属性,设置密码为sa(当然也可以设置其他用户名和密码)这样就设置了一个用户名为sa,密码为sa的用户,下次在登陆时,可以用Sql server方式,用户名为sa,密码为:sa的用户进数据库了。
5: 做完上面四步后,这样写连接字符串就可以顺利进入数据库了,
(server=.\\sqlexpress;uid=sa;pwd=sa;database=master");
注意!正确的Server名是这样的,机器名\SQLEXPRESS而不是LOCALHOST,127.0.0.1,MJZG(机器名)比如我的是这样的Server:TDS\SQLEXPRESS

很感谢网络这个工具,相信我以后会学会使用MSDN、CSDN、Baidu、Google等工具的。

转载于:https://www.cnblogs.com/GT_Andy/archive/2008/01/18/1922135.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值