ADO.NET:建立与SQL Server的连接时发生错误

时间:2014-05-26 21:56:31

标签: c# asp.net sql sql-server

我正在尝试将数据绑定到Gridview并收到此错误

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:命名   管道提供程序,错误:40 - 无法打开与SQL Server的连接)

这是我的简单代码

 string cs = "data source =.; initial catalog= MyDB;  integrated security= SSPI";
 SqlConnection con = new SqlConnection(cs);
 SqlCommand cmd = new SqlCommand("select * from tbl_Dept", con);
 con.Open();
 GridView1.DataSource = cmd.ExecuteReader();
 GridView1.DataBind();
 con.Close();   

在SQl管理工作室我已经重新检查了数据库名称和代码中提到的相同

我发现了一些相关的问题,但那些对我不起作用所以张贴我的一个,请帮帮我,

2 个答案:

答案 0 :(得分:2)

您可以在web.config(在Web应用程序中)或app.config(在Windows窗体应用程序中)中定义SqlConnection字符串。 简单地定义如下 -

<configuration>
    <connectionStrings>
         <add name="Connection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial   Catalog=DBName;Trusted_connection=yes;User ID=''; Password=''"/
    </connectionStrings>
</configuration>

然后使用

以.cs格式访问此代码
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Connection"].ConnectionString.ToString());

在此之后,您可以在整个表单中使用SqlConnection对象con

答案 1 :(得分:1)

安装SQL Server Express时,安装程​​序建议创建named instance,默认情况下,此命名实例称为SQLEXPRESS。

如果要连接到此named instance,则需要指定名称 因此,在您的情况下,您的连接字符串应更改为

"Data Source =.\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=SSPI";