【发布时间】:2019-09-24 18:19:02
【问题描述】:
当我尝试在 Visual Studio 2010 中运行此程序时,它显示错误。像这样“建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。( provider:Named pipelines Provider,error:40-could not open a connection to SQL Server)"
public partial class tcregistration : Form
{
SqlConnection conn = new SqlConnection("Data Source=./SQLEXPRESS;AttachDbFilename=C:/Users/dce 3/documents/visual studio 2010/Projects/TC_Maker/TC_Maker/TC_REG.mdf;Integrated Security=True;User Instance=True");
public tcregistration()
{
InitializeComponent();
}
private void insert_Click(object sender, EventArgs e)
{
string gender = string.Empty;
if (rbmale.Checked)
{
gender = "M";
}
else if (rbfemale.Checked)
{
gender = "F";
}
string tcrecieved = string.Empty;
if (rbyes.Checked)
{
tcrecieved = "Y";
}
else if (rbno.Checked)
{
tcrecieved = "N";
}
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlCommand cmd = new SqlCommand ("TCAddorUpdate",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@mode","Add");
cmd.Parameters.AddWithValue("@tcnumber",txttcno.Text.Trim());
cmd.Parameters.AddWithValue("@name",txtname.Text.Trim());
cmd.Parameters.AddWithValue("@dob",dtpdob);
cmd.Parameters.AddWithValue("@religion",txtrelig.Text.Trim());
cmd.Parameters.AddWithValue("@caste",txtcaste.Text.Trim());
cmd.Parameters.AddWithValue("@sex",gender);
cmd.Parameters.AddWithValue("@doa",dtpdoa);
cmd.Parameters.AddWithValue("@regno",txtregno.Text.Trim());
cmd.Parameters.AddWithValue("@dor",dtpdor);
cmd.Parameters.AddWithValue("@dept",txtdept.Text.Trim());
cmd.Parameters.AddWithValue("@sem", combosem);
cmd.Parameters.AddWithValue("@ifqulify",txtqualified.Text.Trim());
cmd.Parameters.AddWithValue("@conduct",txtconduct.Text.Trim());
cmd.Parameters.AddWithValue("@applieddate",dtpdoapp);
cmd.Parameters.AddWithValue("@ifrecieved",tcrecieved);
cmd.Parameters.AddWithValue("@receiveddate",dtpdor);
cmd.ExecuteNonQuery();
MessageBox.Show("Data Inserted Successfully");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"Error Message");
}
finally
{
conn.Close();
}
}
}
}
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)
【问题讨论】:
-
已经有很多个重复的问题了。确保服务器名称正确且服务器正在运行。
-
那个连接字符串是错误的。命名实例使用反斜杠,而不是正斜杠。
.是命名管道名称,仅在 Windows 上有效。您应该改用localhost,例如Data Source=localhost\\SQLEXPRESS。 -
您的连接字符串错误。使用 SQL Server Management Studio 并检查登录窗口。确保它显示 Windows 凭据,并且 SOURCE 与服务器名称和实例匹配(源 = 服务器名称/实例)。如果服务器在同一台机器上,则服务器可以是一个句点。然后使用 SSMS 检查数据库是否已连接到服务器。当附加到服务器时,您不能使用 AttachDbFilename,因为它已经附加并且数据库拥有 mdf 文件。 Integrated Security=True 表示正在使用的窗口凭据应与 SSMS 登录窗口匹配。
-
既然你提到了VS 2010,你的目标不是Linux,所以文件名也需要使用反斜杠
-
我无法解决这个问题......
标签: c#