如何从winform c#ping数据库

时间:2014-01-21 16:37:12

标签: c# winforms command-prompt ping

我需要知道我的数据库是否正在运行,我必须在C#中的WinForm中进行。

在命令提示符下(在Windows 7中),我运行以下命令:

dbping -c "uid=sos;pwd=cdpbszqe;eng=mydatabase;dbn=mydatabase;links=tcpip" -pd file -d > result.txt

将结果写入(重定向)到result.txt文件
我打开并看看它是否成功

如何使用WinForms在C#代码中执行相同的操作? 如果成功,是否可以ping并获得结果? 我是否必须ping并从ping结果创建一个文本文件,然后在我的C#App中打开它? 什么是最好的方法?

感谢。

2 个答案:

答案 0 :(得分:5)

如果您只想检查是否可以连接(即它正在运行),则无需批处理文件。我们可以用C#中的几行进行测试。

private bool TestConnection()
{
    using (var conn = new SqlConnection("connection string")
    {
        try
        {
            conn.Open();
            return true;
        }
        catch(Exception ex)
        {
            //log exception
        }

        return false;
    }
}

答案 1 :(得分:0)

使用上面的命令创建一个批处理文件,然后使用Process类从Windows窗体应用程序运行它。从以下方面获得帮助: Executing Batch File in C#

这将创建您的result.txt文件,您可以使用任何File.ReadAllLines()或您想要使用的任何方法来读取它。