Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 如何检查与数据库的连接?_Tsql_Sql Server 2008 - Fatal编程技术网

Tsql 如何检查与数据库的连接?

Tsql 如何检查与数据库的连接?,tsql,sql-server-2008,Tsql,Sql Server 2008,t-sql,sql server 2008 我的应用程序必须每5秒检查一次与数据库的连接状态。我是按照下面的代码做的: static bool Check() { using (SqlConnection conn = new SqlConnection("Server=WS-01\\ex1; User id=Admin; pwd=123; database=database")) { try {

t-sql,sql server 2008

我的应用程序必须每5秒检查一次与数据库的连接状态。我是按照下面的代码做的:

    static bool Check()
    {
        using (SqlConnection conn = new SqlConnection("Server=WS-01\\ex1; User id=Admin; pwd=123; database=database"))
        {
            try
            {
                conn.Open();

                if (conn.State != ConnectionState.Open)
                    return false;
                else
                    return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                try
                {
                    conn.Close();
                }
                catch
                {
                }
            }
        }
    }

    static void Main(string[] args)
    {
        Console.WriteLine(Check());

        Console.ReadKey();
    }
}

有没有更简单的方法?我不熟悉一些特定的t-sql指令…

您可以删除finally-当您使用()包装连接对象时,无需手动关闭连接


此外,连接超时时间可能会超过5秒,因此您可能会出现一个失败队列。

您可以删除最后一个-当您使用()包装连接对象时,无需手动关闭连接


此外,连接超时时间可能会超过5秒,因此您可能会出现一个失败队列。

其中没有T-SQL指令,因此您可以:-)如果在连接中给数据源错误,我也会使用相同的代码检查连接,因为它不会出现在catch块中或conn.open()之后的下一行代码中语句数据源=testSvr03\SQLEXPRESS;初始目录=测试;连接超时=600;持久安全信息=True;用户ID=测试;password=test这里面没有T-SQL指令,所以您可以:-)我也在使用相同的代码来检查连接,如果我在连接中给datasource错误的话,那么它永远不会出现在catch块中或conn之后的下一行代码中。open()语句Data Source=testSvr03\SQLEXPRESS;初始目录=测试;连接超时=600;持久安全信息=True;用户ID=测试;密码=测试