我需要知道我的数据库是否正在运行,我必须在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中打开它? 什么是最好的方法?
感谢。
答案 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()或您想要使用的任何方法来读取它。