【问题标题】:How to check successful connection to a SQL Server database in C#?如何在 C# 中检查与 SQL Server 数据库的成功连接?
【发布时间】:2016-12-02 06:31:53
【问题描述】:

我正在尝试用 C# 连接到 SQL Server 数据库,并检查该数据库是否包含一个具有 3 列的空表,但我不知道如何检查它是否成功..

我的代码:

protected bool checkDB()
{ 
    string ConnectionString = "Server=[serverName];Database=[databaseName];Trusted_Connection=true";

    SqlConnection con = new SqlConnection(ConnectionString);

    SqlCommand com = new SqlCommand("SELECT * FROM tableName", con);

    // use the connection here
    con.Open();

    con.Close();

    if (success)
    {
        return true;
    }
    else
    {
        return false;
    }
}

【问题讨论】:

  • 如果你在 "con.Open();" 上没有出现异常,那么你的连接是成功的......
  • @x... 如何检查异常?使用`try{}catch{}`?
  • 是的,试试 {..... return true;} catch { return false; }
  • 还有一个问题,我的服务器名有“\”,可以用“\\”代替吗?
  • 你可以在这里看到很多样本:connectionstrings.com/sql-server

标签: c# sql-server


【解决方案1】:
protected bool checkDB()
{
  var connString = @"Server=myServerName\myInstanceName;Database=myDataBase;Integrated Security=true;";
  try
  {
    using (var con = new SqlConnection(connString))
    {
      con.Open();
      using (var com = new SqlCommand("SELECT * FROM tableName", con))
      {
        // use your query here...
      }
    }
    return true;
  }
  catch (Exception)
  {
    return false;
  }
}

【讨论】:

  • 你好,我是用windows认证连接sql server的,所以不知道用户名和密码..怎么办?
  • 事实上我得到了一个错误——在建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
  • 对于 Windows 身份验证使用:Integrated Security=true;,没有用户名和密码
  • 使用 SQL Server Management Studio 测试你的连接,有时你需要为此定义端口号 1433,否则 sql server 端口将是动态的。
  • msdn.microsoft.com/en-us/library/ms177440.aspx 将 1433 添加到 TCP 端口
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
相关资源
最近更新 更多