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

C# 尝试连接到本地实例时出错,c#,sql-server,C#,Sql Server,我正在尝试从我的webapp连接到数据库,以获取dropdownlist的值,但不知何故,我总是在con.Open上得到相同的错误。告诉我找不到networkname protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { string query = "SELECT HobbyId, Hobby, IsSelected FROM

我正在尝试从我的webapp连接到数据库,以获取dropdownlist的值,但不知何故,我总是在con.Open上得到相同的错误。告诉我找不到networkname

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

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

您还可以用一个简单的点(
)替换
localhost
):
server=。\testserver

确保您的SQL server实例实际正在运行。您可以打开SQL server配置管理器来检查这一点


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

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

您还可以用一个简单的点(
)替换
localhost
):
server=。\testserver

确保您的SQL server实例实际正在运行。您可以打开SQL server配置管理器来检查这一点


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

发布完整的异常,否则您只能猜测出问题所在。完整异常是通过
exception.ToString()
获得的,包括调用堆栈。您的数据库名为MyDB.dbo吗?作为测试,连接到主机。尽管有一条消息说找不到网络名称,但这条消息非常清楚。您使用了错误的服务器名称或IP。或者使用了
/
而不是
\
,因为我怀疑你们中的任何人会说德语,它说无法连接到SQL Server,但它是本地SQL Server,名为testserver,所以我猜语法没有错?是的,数据库名为MyDB,这是错误的。你用错斜杠了。然后发布完整的异常!。异常类型和调用堆栈会说明错误发生的位置和原因,即使问题本身非常模糊,以至于忽略了错误发生的异常类型和行,也会发布完整的异常,否则只能猜测出错误。完整异常是通过
exception.ToString()
获得的,包括调用堆栈。您的数据库名为MyDB.dbo吗?作为测试,连接到主机。尽管有一条消息说找不到网络名称,但这条消息非常清楚。您使用了错误的服务器名称或IP。或者使用了
/
而不是
\
,因为我怀疑你们中的任何人会说德语,它说无法连接到SQL Server,但它是本地SQL Server,名为testserver,所以我猜语法没有错?是的,数据库名为MyDB,这是错误的。你用错斜杠了。然后发布完整的异常!。异常类型和调用堆栈说明了错误发生的位置和原因,即使问题本身非常模糊,以至于忽略了错误发生的异常类型和行。使用双反斜杠表示感谢,但感谢您的回答:)必须使用双反斜杠,但感谢您的回答:)