C# 尝试连接到本地实例时出错
我正在尝试从我的webapp连接到数据库,以获取dropdownlist的值,但不知何故,我总是在con.Open上得到相同的错误。告诉我找不到networknameC# 尝试连接到本地实例时出错,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
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,这是错误的。你用错斜杠了。然后发布完整的异常!。异常类型和调用堆栈说明了错误发生的位置和原因,即使问题本身非常模糊,以至于忽略了错误发生的异常类型和行。使用双反斜杠表示感谢,但感谢您的回答:)必须使用双反斜杠,但感谢您的回答:)