青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

kenlistian

厚積薄發. 勤為槳,思為帆

   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
  73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks

    一般來說,和數據庫連接通常不容易斷鏈,但是特別做些服務性質的,無人監守的程序時,則要考慮數據庫連接的ado發生斷鏈時的情況。在這種情況下,考慮建立數據庫鏈路檢測異常保護就是非常重要的。

通常,與數據庫連接中斷有以下2種情況:

1。數據庫服務器服務停止,
2。與數據庫服務器之間的網絡發生中斷


采用如下代碼在使用做pRs做open查詢操作時,拋出異常,此異??膳袛酁榈綌祿旆掌鞯倪B接發生中斷
Error   number:   80004005
[DBNETLIB][ConnectionWrite (WrapperWrite()).]一般性網絡錯誤。請檢查網絡文檔。
SQLState   :   08S0
NativeError   :   b

當pConn在Close,重新Open連接會發生異常,此異常是重新連接時拋出的。此時可判斷為到遠程服務器的連接完全中斷
Error   number:   80004005
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒絕訪問。
SQLState   :   08001
NativeError   :   11

檢測代碼基本如下,此代碼的部分參考自ADO手冊,并加以部分的修改
for(;;)
{
    try {
        if   (g_isConnected) {
                pRs-> Open(_bstr_t(“select 1”),  _variant_t((IDispatch*)pConn,true), adOpenStatic,
                                   adLockReadOnly, adCmdText);
                if (pRs)
                    if   (pRs-> State == adStateOpen)
                          pRs-> Close();
        } else {
             if   (pConn)
                 if   (pConn->State   ==   adStateOpen)
                        pConn->Close();
             pConn->Open(_bstr_t(strCnn),_bstr_t(""),_bstr_t(""),adModeUnknown);   //重新打開連接
             isConnected=TRUE;
        }
   }
   catch   (_com_error   &pCome)
   {

          _variant_t   vtConnect   =   (_variant_t)(pConn.GetInterfacePtr());//pRs-> GetActiveConnection();
          switch(vtConnect.vt)
         {
                case   VT_BSTR:
                        PrintComError(pCome);
                        break;
                case   VT_DISPATCH:
                         PrintProviderError(vtConnect);
                         break;
               default:
                     printf( "Errors   occured. ");
                    break;
           }
           isConnected=   FALSE;
     }
     Sleep(1000);
}
void   PrintProviderError(_ConnectionPtr   pConnection)
{
             ErrorPtr     pErr     =   NULL;
             if(   (pConnection-> Errors-> Count)   >   0)
            {
                    long   nCount   =   pConnection-> Errors-> Count;
                   for(long   i   =   0;   i   <   nCount;   i++)
                   {
                          pErr   =   pConnection-> Errors-> GetItem(i);
                          TRACE( "Error   number:   %x\n%s\n ",   pErr-> Number,  (LPCSTR)pErr-> Description);
                          TRACE( "SQLState   :   %s\n ",   (LPCTSTR)pErr-> SQLState);
                          TRACE( "NativeError   :   %x\n ",   pErr-> NativeError);
                  }
            }
}

void   PrintComError(_com_error   &e)
{
    _bstr_t   bstrSource(e.Source());
   _bstr_t   bstrDescription(e.Description());
   //   Print   Com   errors.    
    TRACE( "Error\n ");
    TRACE( "\tCode   =   %08lx\n ",   e.Error());
    TRACE( "\tCode   meaning   =   %s\n ",   e.ErrorMessage());
    TRACE( "\tSource   =   %s\n ",   (LPCSTR)   bstrSource);
    TRACE( "\tDescription   =   %s\n ",   (LPCSTR)   bstrDescription);
}

 

把它整理成到一個線程中不斷作為數據庫鏈路檢測,發現該連接斷開則返回連接來處理。測試代碼附文。我用的sql server數據庫做測試過。源碼下載位置:

http://www.pudn.com/downloads95/sourcecode/database/detail389188.html

posted on 2008-01-06 00:03 kenlistian 閱讀(837) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费成人在线观看视频| 免费观看国产成人| 久久动漫亚洲| 久久精品国产亚洲一区二区三区| 午夜精品福利在线| 久久久噜噜噜久久狠狠50岁| 久久蜜桃香蕉精品一区二区三区| 久久久久久电影| 欧美精品激情| 国产精品美女久久久免费| 国产一区二区三区高清在线观看| 亚洲高清在线| 亚洲一区二区三区视频播放| 久久久999| 亚洲人体大胆视频| 亚洲性夜色噜噜噜7777| 欧美在线黄色| 欧美乱在线观看| 国产亚洲一区二区三区| 亚洲免费av片| 久久se精品一区精品二区| 亚洲第一网站| 欧美一级在线视频| 欧美精品一区二区三区久久久竹菊| 国产精品欧美日韩一区| 亚洲国产精品成人一区二区 | 亚洲人成啪啪网站| 亚洲午夜激情| 噜噜噜躁狠狠躁狠狠精品视频 | 久久福利毛片| 国产精品av免费在线观看| 在线观看av不卡| 亚洲免费影视第一页| 欧美国产日韩一二三区| 亚洲女人av| 欧美日韩亚洲视频| 亚洲国产清纯| 老**午夜毛片一区二区三区| 亚洲午夜三级在线| 欧美日韩国产一级| 亚洲毛片视频| 亚洲成在线观看| 久久深夜福利| 精品动漫av| 久久精品日产第一区二区三区| 日韩视频欧美视频| 欧美成人精品一区二区| 在线观看中文字幕亚洲| 久久久蜜桃一区二区人| 亚洲欧美久久久| 国产精品乱码久久久久久| 性高湖久久久久久久久| 欧美77777| 久久久视频精品| 国产一区二区三区久久久久久久久 | 欧美日韩1080p| 亚洲日本欧美在线| 欧美电影免费观看大全| 久久频这里精品99香蕉| 在线观看国产一区二区| 久久视频在线看| 欧美专区第一页| 精品不卡视频| 欧美好吊妞视频| 欧美激情第4页| 一本久久精品一区二区| 日韩视频在线观看免费| 国产精品高潮在线| 午夜久久影院| 久久国产精品色婷婷| 在线精品在线| 亚洲精选在线| 国产美女高潮久久白浆| 久久久久国色av免费观看性色| 欧美一区二区性| 亚洲国产欧美一区| 91久久精品国产91性色tv| 欧美精品一区二区在线观看| 宅男噜噜噜66一区二区| 亚洲欧美中文字幕| 在线精品高清中文字幕| 亚洲精品日韩综合观看成人91| 国产精品成人一区二区三区吃奶 | 亚洲黄网站黄| 欧美日韩国产一中文字不卡| 亚洲小说春色综合另类电影| 亚洲欧美激情视频| 亚洲国产高清一区| 亚洲精品乱码久久久久久蜜桃91| 欧美系列一区| 老色批av在线精品| 欧美精品免费视频| 久久久99免费视频| 欧美国产日韩一区| 久久99伊人| 欧美成人中文字幕在线| 欧美亚洲一区| 欧美福利在线观看| 欧美中文在线字幕| 欧美乱大交xxxxx| 久久在线免费| 国产精品视频不卡| 亚洲国产欧美在线| 好吊日精品视频| 中文网丁香综合网| 亚洲人成欧美中文字幕| 欧美一区二区高清| 亚洲午夜高清视频| 欧美高清不卡| 亚洲国产精品久久| 一区二区三区四区五区视频 | 欧美诱惑福利视频| 亚洲一区精品电影| 免费亚洲电影| 久久天堂国产精品| 国产精品一区二区三区成人| 亚洲毛片在线观看.| 亚洲国产成人精品视频| 欧美一区二区三区久久精品茉莉花 | 国产精品亚洲成人| 亚洲精品中文字幕有码专区| 亚洲韩国一区二区三区| 久久久青草婷婷精品综合日韩| 午夜精品久久久久久久久久久久久| 欧美精品免费播放| 亚洲人成亚洲人成在线观看图片| 激情综合久久| 久久精品青青大伊人av| 久久精品五月| 国产一区二区三区四区| 亚洲欧美影音先锋| 欧美在线免费| 国产一区二区三区视频在线观看 | 久久久久久有精品国产| 国产欧美日韩视频一区二区三区 | 欧美大片在线观看一区二区| 久久在线免费观看视频| 黄色成人在线| 久久久久久久久久久久久女国产乱| 久久国内精品自在自线400部| 国产精品入口夜色视频大尺度| 99天天综合性| 亚洲在线一区| 国产伦精品一区二区三区| 亚洲一区免费| 久久激情视频| 亚洲成人中文| 欧美精品导航| 一区二区三区四区五区视频| 午夜精品久久久久| 国内外成人在线视频| 久久裸体视频| 亚洲大片免费看| 亚洲一区免费视频| 国产亚洲永久域名| 麻豆免费精品视频| 亚洲精品视频免费| 亚洲性夜色噜噜噜7777| 国产精品综合久久久| 久久精品男女| 亚洲精选视频在线| 欧美在线亚洲一区| 亚洲激情视频网| 欧美色图一区二区三区| 欧美一区二区精品| 亚洲国产成人精品视频| 亚洲专区免费| 亚洲国产欧美国产综合一区| 欧美日韩精品免费在线观看视频| 亚洲黄色大片| 久久久亚洲综合| 亚洲人成艺术| 久久99伊人| 亚洲美女91| 国产精品羞羞答答| 蜜臀a∨国产成人精品| aⅴ色国产欧美| 久久久久亚洲综合| 宅男66日本亚洲欧美视频| 精品白丝av| 国产精品一区二区三区成人| 欧美xx视频| 欧美在线3区| 亚洲桃色在线一区| 亚洲国产欧美一区| 久久久999成人| 亚洲欧美日韩综合aⅴ视频| 影音先锋中文字幕一区| 国产精品久久久久999| 欧美aa在线视频| 久久久999精品免费| 亚洲女人天堂av| 夜夜狂射影院欧美极品| 欧美激情一区二区三级高清视频 | 黄色av一区| 国产精品欧美激情| 欧美日韩一区二区三| 免费在线观看精品| 久久久99爱| 久久福利电影|