【问题标题】:Interact with databases from ADO.NET与 ADO.NET 中的数据库交互
【发布时间】:2016-05-21 10:08:47
【问题描述】:

您好,我尝试学习一些 ADO.NET。我正在使用 C# 在 Visual Studio 2015 中工作。我创建了一个包含一些表的数据库,这些表存储在我的本地计算机上。这是我尝试连接数据库的 C# 代码:

string constring = "Data Source=.; Database = CarShop;Integrated Security=SSPI";
SqlConnection con = new SqlConnection(constring);
con.Open();            

当我尝试打开 SqlConnection 时抛出错误:

“System.Data.SqlClient.SqlException”类型的未处理异常 发生在 System.Data.dll 附加信息:网络 - 建立一个相关的或实例特定的错误 连接到 SQL Server。未找到或未找到服务器 可访问。验证实例名称是否正确以及 SQL 服务器配置为允许远程连接。(提供者:命名 Pipes Provider,错误:40 - 无法打开与 SQL Server 的连接)

到目前为止,我已经尝试将连接字符串更改为:

string constring = "Data Source=192.168.0.101; Database = CarShop;Integrated Security=True;Connect Timeout=30";

constring = "Data Source=(LocalDB)/MSSQLLocalDB;AttachDbFilename=D:/Proiecte/Visual Studio/C#/DataBases/DataBaseTut2/DataBaseTut2/CarShop.mdf;Integrated Security=True;Connect Timeout=30";                

但都没有奏效。

【问题讨论】:

标签: c# sql ado.net


【解决方案1】:

试试这个:

Data Source=.;
Initial Catalog=database name;
Integrated Security=True;
Max Pool Size=2048;
Pooling=true;

【讨论】:

  • 你的连接字符串是什么?
【解决方案2】:
  1. 我将访问 http://www.connectionstrings.com/sql-server/ 以获取 ADO.net Sql Server 连接的正确连接字符串实例。 我会从示例中建议Standard SecurityTrusted Connection

  2. 我会将它保存在一个配置文件中,无论是 app.config 还是 web.config

  3. 创建连接时,请始终使用 using() 语句在连接超出范围时正确处理连接。

因此:

 using(SqlConnection sqlconn = new SqlConnection(     
ConfigurationManager.ConnectionStrings["defaultconnection"].ConnectionString))
 {
    sqlconn.Open();

   using(SqlCommand sqlcommand  = new SqlCommand("Select field1 FROM  
   Table",sqlconn))
   {
     //code here
   }
}
  1. 确保localhost (.) 上的数据库可以接受可信连接,而不是使用标准安全 - sql 身份验证 - 通过指定用户凭据,即"User Id=username;Password=pwd;"

【讨论】:

    【解决方案3】:

    我想通了。对于那些有这个问题的人。您可以通过右键单击服务器资源管理器中的数据库,然后单击属性来获取连接字符串。如果这样做,您将在“属性”面板中找到连接字符串。复制该字符串,但是当您在代码中使用它时,请像这样使用它:

    @"whatever your Connection String is"
    

    【讨论】:

      【解决方案4】:

      确保在 sql server manager 中启用了 tcp/IP。如果没有,那么您将无法与之通信。还要检查您是否需要提供命名实例。例如。本地主机/sqlexpress

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 2013-03-15
        • 2014-02-05
        • 2015-03-29
        相关资源
        最近更新 更多