c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法
在很多項(xiàng)目啟動(dòng)的時(shí)候都需要連接到數(shù)據(jù)庫(kù),因此判斷數(shù)據(jù)庫(kù)服務(wù)器是否啟動(dòng)就十分必要了,如何判斷數(shù)據(jù)庫(kù)服務(wù)器是否啟動(dòng)呢?可以通過(guò)判斷數(shù)據(jù)庫(kù)服務(wù)是否啟動(dòng)來(lái)判斷,當(dāng)然我看了下網(wǎng)上也有人說(shuō)通過(guò)注冊(cè)表也可以判斷,下面我就說(shuō)說(shuō)我的實(shí)現(xiàn)方式:
/// <summary>
/// 判斷數(shù)據(jù)庫(kù)服務(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ù)庫(kù)系統(tǒng)服務(wù)端時(shí),一般都會(huì)命名為xxx,這樣我們數(shù)據(jù)庫(kù)服務(wù)名默認(rèn)就為MSSQL$xxx了,
//當(dāng)然也不完全是這樣的了,根據(jù)具體環(huán)境而異哦,也可以使用服務(wù)顯示名來(lái)判斷如:service[i].DisplayName
if (service[i].ServiceName.ToString().Contains("MSSQL$"))
{
ExistFlag = true;
string strOuput = string.Format("數(shù)據(jù)庫(kù)服務(wù)器啟動(dòng)了服務(wù)名:{0},服務(wù)顯示名:{1}\n", service[i].ServiceName, service[i].DisplayName);
//將信息寫(xiě)入到日志輸出文件
DllComm.TP_WriteAppLogFileEx(DllComm.g_AppLogFileName, strOuput);
}
}
return ExistFlag;
}
相關(guān)文章
C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法分析
這篇文章主要介紹了C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法,結(jié)合實(shí)例形式總結(jié)分析了C#獲取IP地址相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫(kù)及密碼的方法
同為微軟的產(chǎn)品,本文將討論的是C#如何創(chuàng)建Access數(shù)據(jù)庫(kù),同時(shí)創(chuàng)建數(shù)據(jù)庫(kù)密碼與相關(guān)操作,希望對(duì)大家有所幫助。2015-09-09結(jié)合Visual C#開(kāi)發(fā)環(huán)境講解C#中事件的訂閱和取消訂閱
這篇文章主要介紹了C#中事件的訂閱和取消訂閱,結(jié)合Visual C#開(kāi)發(fā)環(huán)境來(lái)進(jìn)行講解,Visual C#被集成在微軟的IDE程序Visual Studio中,需要的朋友可以參考下2016-01-01