在很多項目啟動的時候都需要連接到數據庫,因此判斷數據庫服務器是否啟動就十分必要了,如何判斷數據庫服務器是否啟動呢?
可以通過判斷數據庫服務是否啟動來判斷,當然我看了下網上也有人說通過注冊表也可以判斷,下面我就說說我的實現方式:
/// <summary>
/// 判斷數據庫服務是否已經啟動,如果已經啟動就返回True,否則返回False
/// </summary>
/// <returns></returns>
private bool JudgeDBServerStatus()
{
bool ExistFlag = false;
ServiceController[] service = ServiceController.GetServices();
for (int i = 0; i < service.Length; i++)
{
//因為我們安裝數據庫系統服務端時,一般都會命名為xxx,這樣我們數據庫服務名默認就為MSSQL$xxx了,
//當然也不完全是這樣的了,根據具體環境而異哦,也可以使用服務顯示名來判斷如:service[i].DisplayName
if (service[i].ServiceName.ToString().Contains("MSSQL$"))
{
ExistFlag = true;
string strOuput = string.Format("數據庫服務器啟動了服務名:{0},服務顯示名:{1}\n", service[i].ServiceName, service[i].DisplayName);
//將信息寫入到日志輸出文件
DllComm.TP_WriteAppLogFileEx(DllComm.g_AppLogFileName, strOuput);
}
}
return ExistFlag;
}
以上方法如果有不正確的地方希望大家指出。謝謝了哦。
摘自 weizhiai12的專欄