我尝试加载网页时遇到此错误。任何人都可以建议导致这种情况发生的原因及其解决方法吗?
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接
这是C#代码
string conStr = ConfigurationManager.ConnectionStrings["MSSQLConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(conStr);
string strSqlCmd;
string strSqlCmd2;
strSqlCmd = "INSERT INTO User " + "(UserName, UserPwd, email, address, mobileNo, firstname, lastname, dateofBirth, NRIC, gender)";
strSqlCmd += " VALUES (@Username, @Userpwd, @email, @address, @mobileNo, @firstName, @lastName, @DateOfBirth, @nric, @gender)";
strSqlCmd2 = "INSERT INTO Patient " + "(Allergies, Childhoodillness)";
strSqlCmd2 += "VALUES(@allergies, @Childhood_illness)";
//create command and assign the query and connection from the constructor
SqlCommand cmd = new SqlCommand(strSqlCmd, connection);
SqlCommand cmd2 = new SqlCommand(strSqlCmd2, connection);
cmd.Parameters.AddWithValue("@Username", UserName.Text);
cmd.Parameters.AddWithValue("@Userpwd", Password.Text);
cmd.Parameters.AddWithValue("@email", Email.Text);
cmd.Parameters.AddWithValue("@address", Address.Text);
cmd.Parameters.AddWithValue("@mobileNo", MobileNo.Text);
cmd.Parameters.AddWithValue("@firstName", Password.Text);
cmd.Parameters.AddWithValue("@lastName", Password.Text);
cmd.Parameters.AddWithValue("@DateOfBirth", DOB.Text);
cmd.Parameters.AddWithValue("@nric", NRIC.Text);
cmd.Parameters.AddWithValue("@gender", Gender.Text);
cmd2.Parameters.AddWithValue("@allergies", Allergies.Text);
cmd2.Parameters.AddWithValue("@Childhood_illness", ChildhoodIllness.Text);
connection.Open();
cmd.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
connection.Close();
这是web.config
代码
<add name="MSSQLConnectionString"
connectionString="Server=localhost; Database= App_Data\PMS.mdf ; Integrated Security=True"
providerName="System.Data.SqlClient" />
答案 0 :(得分:0)
此错误是自解释的,这意味着您的连接字符串出错。您可能会找到错误的服务器名称或无效的数据库名称。此外,如果所有这些都没问题,您可以查看配置管理器并检查SQL Server是否已准备好接受远程请求。 (这仅用于远程连接。)
您可以在以下网址中获得有关连接字符串的有用提示: http://www.connectionstrings.com/
答案 1 :(得分:0)
这是本地MDF数据库的错误连接字符串。尝试类似的事情;
<add name="MSSQLConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|PMS.mdf;Integrated Security=True;"
providerName="System.Data.SqlClient" />
或
<add name="MSSQLConnectionString"
connectionString="Data Source=.\MSSQLSERVER;AttachDbFilename=|DataDirectory|PMS.mdf;Integrated Security=True;"
providerName="System.Data.SqlClient" />
或您已安装的任何其他实例。