尝试连接到本地实例时出错

时间:2016-06-23 07:42:25

标签: c# sql-server

我正在尝试从我的webapp连接到数据库以获取下拉列表的值,但不知怎的,我总是在con.Open上得到相同的错误。告诉我找不到网络名称!

protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            string query = "SELECT HobbyId, Hobby, IsSelected FROM Hobbies";
            //string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            using (SqlConnection con = new SqlConnection("server=localhost/testserver; database=MyDB.dbo; integrated security=true"))
            {
                using (SqlCommand cmd = new SqlCommand(query))
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    con.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            ListItem item = new ListItem();
                            item.Text = sdr["Hobby"].ToString();
                            item.Value = sdr["HobbyId"].ToString();
                            item.Selected = Convert.ToBoolean(sdr["IsSelected"]);
                            ddlHobbies.Items.Add(item);
                        }
                    }
                    con.Close();
                }
            }
            ddlHobbies.Items.Insert(0, new ListItem("--Select Hobby--", "0"));
        }
    }

1 个答案:

答案 0 :(得分:3)

您需要使用反斜杠(\)而不是正斜杠(/):server=localhost/testserver应为server=localhost\testserver

您也可以使用简单的点(localhost)替换.server=.\testserver

确保您的SQL Server实例实际上正在运行。您可以打开SQL Server配置管理器来检查它。

您还需要为您的实例启用至少一个网络协议(例如命名管道,TCP / IP或共享内存)。