[點(diǎn)晴永久免費(fèi)OA]使用C#判斷Windows系統(tǒng)數(shù)據(jù)庫后臺(tái)服務(wù)器是否已經(jīng)啟動(dòng)
在很多項(xiàng)目啟動(dòng)的時(shí)候都需要連接到數(shù)據(jù)庫,因此判斷數(shù)據(jù)庫服務(wù)器是否啟動(dòng)就十分必要了,如何判斷數(shù)據(jù)庫服務(wù)器是否啟動(dòng)呢?
可以通過判斷數(shù)據(jù)庫服務(wù)是否啟動(dòng)來判斷,當(dāng)然我看了下網(wǎng)上也有人說通過注冊(cè)表也可以判斷,下面我就說說我的實(shí)現(xiàn)方式:
/// <summary>
/// 判斷數(shù)據(jù)庫服務(wù)是否已經(jīng)啟動(dòng),如果已經(jīng)啟動(dòng)就返回True,否則返回False
/// </summary>
/// <returns></returns>
private bool JudgeDBServerStatus()
{
bool ExistFlag = false;
ServiceController[] service = ServiceController.GetServices();
for (int i = 0; i < service.Length; i++)
{
//因?yàn)槲覀儼惭b數(shù)據(jù)庫系統(tǒng)服務(wù)端時(shí),一般都會(huì)命名為xxx,這樣我們數(shù)據(jù)庫服務(wù)名默認(rèn)就為MSSQL$xxx了
//當(dāng)然也不完全是這樣的了,根據(jù)具體環(huán)境而異哦,也可以使用服務(wù)顯示名來判斷如:service[i].DisplayName
//如果需要判斷服務(wù)是否運(yùn)行中,加上 && service[i].Status == ServiceControllerStatus.Running
//如果需要啟動(dòng)或停止服務(wù),service[i].Start();、service[i].Stop();
if (service[i].ServiceName.ToString().Contains("MSSQL$"))
{
ExistFlag = true;
//string strOuput = string.Format("數(shù)據(jù)庫服務(wù)器啟動(dòng)了服務(wù)名:{0},服務(wù)顯示名:{1}\n", service[i].ServiceName, service[i].DisplayName);
}
}
return ExistFlag;
}
該文章在 2022/8/25 9:00:22 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |