我是编程新手。我希望程序连接到C#,但出现此错误:
System.Data.SqlClient.SqlException :
'建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。
(提供者:命名管道提供者,错误:40-无法打开与SQL Server的连接)'
我的代码:
namespace HesabDarinAnbarDari
{
public partial class FrmTanzimat : Form
{
public FrmTanzimat()
{
InitializeComponent();
}
SqlConnection con = new SqlConnection("Data source=(local);initial catalog=HesabDariDB;integrated security=true");
SqlCommand cmd = new SqlCommand();
private void FrmTanzimat_Load(object sender, EventArgs e)
{
}
private void btnSave_Click(object sender, EventArgs e)
{
cmd.Connection = con;
cmd.Parameters.Clear();
cmd.CommandText = "insert into Tanzimat (NameFroshqah, Tel, Mobile, Address. Tozih) values (@a, @b, @c, @d, @e)";
cmd.Parameters.AddWithValue("@a", txtNameFroshgah.Text);
cmd.Parameters.AddWithValue("@b", txtTel.Text);
cmd.Parameters.AddWithValue("@c", txtMobile.Text);
cmd.Parameters.AddWithValue("@d", txtAddress.Text);
cmd.Parameters.AddWithValue("@e", txtTozih.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("done");
}
}
}
SQL代码:
CREATE TABLE [dbo].[Tanzimat]
(
[idTanzimat] INT IDENTITY (1, 1) NOT NULL,
[NameFroshgah] NVARCHAR(50) NULL,
[Tel] NVARCHAR(50) NULL,
[Mobile] NVARCHAR(50) NULL,
[Address] NVARCHAR(MAX) NULL,
[Tozih] NVARCHAR(MAX) NULL,
CONSTRAINT [PK_Tanzimat] PRIMARY KEY CLUSTERED ([idTanzimat] ASC)
);
答案 0 :(得分:2)
抛出此异常时,意味着C#找不到您的数据源$outlook = ObjGet("", "Outlook.Application")
if @error then
$outlook = ObjCreate("Outlook.Application")
if @error then
ProcessClose("outlook.exe")
$outlook = ObjCreate("Outlook.Application")
endif
endif
在您的Sql Server Management Studio中将(local)
替换为您的服务器名称。
答案 1 :(得分:0)
该错误表明您未连接到SQL Server,这表明您的连接字符串或服务器存在问题。如果您有本地运行的SQL Server实例,请尝试将(local)替换为(localhost)(但请注意,当您尝试在另一台计算机上运行代码时,此连接字符串将中断。)
如果这不起作用,请转到“服务器资源管理器”窗格(查看->服务器资源管理器)。右键单击“数据连接”,然后选择“添加连接”。使用该向导查找服务器,然后单击“测试连接”以确保一切顺利。单击确定。现在,在服务器资源管理器中,单击新数据连接以将其选中,然后在属性窗格中查找。您将在此处看到连接字符串。您可以从那里复制并粘贴到代码中。