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

kenlistian

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

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

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

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

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


采用如下代碼在使用做pRs做open查詢操作時,拋出異常,此異常可判斷為到數據庫服務器的連接發生中斷
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>
            国产一区日韩欧美| 亚洲欧美日韩中文视频| 亚洲一区二区三区免费在线观看| 亚洲国产女人aaa毛片在线| 今天的高清视频免费播放成人| 国产一区再线| 亚洲电影视频在线| 亚洲第一黄色网| 亚洲狼人综合| 亚洲欧美国产视频| 久久全球大尺度高清视频| 欧美激情1区| 一区二区三区产品免费精品久久75| 一区二区免费在线视频| 欧美中文字幕精品| 毛片基地黄久久久久久天堂| 欧美日韩精品免费观看视一区二区 | 欧美少妇一区| 国产亚洲在线| 在线电影国产精品| 夜夜嗨av一区二区三区四季av| 亚洲一区二区免费| 久久久久久日产精品| 亚洲国产视频直播| 亚洲自拍高清| 久久露脸国产精品| 欧美sm视频| 欧美性色aⅴ视频一区日韩精品| 国产女主播在线一区二区| 一区二区视频免费完整版观看| 亚洲美女尤物影院| 欧美专区在线观看| 日韩视频在线免费| 久久综合久久久| 欧美体内she精视频| 亚洲国产精品成人va在线观看| 午夜一区在线| 亚洲免费精品| 欧美精品激情在线观看| 黄色精品一区| 欧美一区日韩一区| 亚洲免费观看在线观看| 欧美成年人在线观看| 国产婷婷精品| 亚洲欧美在线另类| 亚洲乱码国产乱码精品精可以看| 欧美一区国产二区| 国产精品久久久久久久久久久久| 亚洲免费观看| 美女免费视频一区| 久久aⅴ乱码一区二区三区| 国产精品国产三级国产| 一本大道久久a久久精品综合| 欧美电影免费观看| 久久婷婷成人综合色| 精品51国产黑色丝袜高跟鞋| 久久久精品一品道一区| 欧美在线免费观看亚洲| 国产精品自拍三区| 欧美中文日韩| 欧美自拍偷拍| 在线观看成人av电影| 免费欧美日韩国产三级电影| 狼狼综合久久久久综合网| 在线欧美福利| 亚洲电影在线播放| 欧美精品日韩一本| 亚洲素人一区二区| 一本色道久久综合亚洲精品小说| 欧美日韩中文字幕在线视频| 亚洲伊人伊色伊影伊综合网| 亚洲综合精品| 精品动漫3d一区二区三区| 美日韩精品免费| 久久影视精品| 99国产精品视频免费观看| 日韩网站在线看片你懂的| 欧美日韩综合久久| 久久精品国产综合| 麻豆精品视频在线观看| 一本大道久久a久久精二百| 亚洲午夜免费福利视频| 国产一区二区三区在线免费观看| 奶水喷射视频一区| 欧美日韩在线亚洲一区蜜芽 | 亚洲一区二区在线播放| 欧美激情成人在线视频| 99re热这里只有精品免费视频| 亚洲国产你懂的| 国产精品久久7| 久久久99爱| 欧美精品系列| 欧美一级在线播放| 美日韩免费视频| 亚洲免费在线视频| 校园激情久久| 99这里只有精品| 欧美在线亚洲综合一区| 伊人久久婷婷| 一区二区国产日产| 在线国产精品播放| 中国成人亚色综合网站| 在线观看日韩av电影| 在线视频你懂得一区| 在线精品国精品国产尤物884a| 一本色道久久综合狠狠躁篇怎么玩 | 欧美成人精品一区二区| 欧美日韩三级| 久久久亚洲高清| 国产精品电影观看| 欧美成人午夜77777| 国产情侣久久| 一区二区三区四区五区精品视频| 亚洲高清不卡在线| 欧美一区二区视频观看视频| 亚洲视频大全| 欧美激情中文字幕乱码免费| 久久夜色精品国产亚洲aⅴ| 欧美亚州在线观看| 亚洲精美视频| 永久555www成人免费| 亚洲欧美日韩精品综合在线观看| 亚洲视频视频在线| 欧美精品www在线观看| 欧美成人一区二区三区| 韩国v欧美v日本v亚洲v| 午夜亚洲精品| 午夜精品在线看| 国产精品国产三级国产专播品爱网 | 久久蜜桃av一区精品变态类天堂| 午夜在线电影亚洲一区| 欧美午夜寂寞影院| 亚洲精品三级| 在线亚洲精品福利网址导航| 欧美激情精品久久久久久变态| 女仆av观看一区| 在线观看一区二区精品视频| 久久天堂精品| 欧美粗暴jizz性欧美20| 黄色成人精品网站| 久久综合网hezyo| 欧美高清一区| 亚洲国产网站| 欧美精品一区二区三区久久久竹菊 | 欧美成人免费一级人片100| 国产精品一区二区久久| 亚洲欧美日韩精品久久亚洲区 | 欧美日韩三级电影在线| 亚洲二区在线| 一本大道久久精品懂色aⅴ| 欧美激情久久久| 亚洲欧洲日本在线| 亚洲一区二区视频在线观看| 国产精品久久久久久av福利软件| 亚洲综合精品四区| 一区二区三区精密机械公司| 亚洲三级电影全部在线观看高清| 久久久亚洲一区| 欧美激情在线播放| 99精品视频一区| 国产精品久久久久久影视| 亚洲影院一区| 巨胸喷奶水www久久久免费动漫| 在线日本成人| 欧美日韩国产美| 亚洲欧美综合网| 欧美顶级大胆免费视频| 在线亚洲欧美视频| 国产日韩精品在线| 男人的天堂成人在线| 亚洲激情电影在线| 午夜精品视频一区| 在线视频观看日韩| 欧美日韩亚洲综合一区| 欧美在线三级| 亚洲精品小视频在线观看| 香蕉av777xxx色综合一区| 国语自产精品视频在线看一大j8 | 午夜伦理片一区| 欧美成va人片在线观看| 这里只有精品视频| 一区二区三区在线视频观看| 欧美久久久久久久久| 欧美自拍偷拍午夜视频| 亚洲人在线视频| 久久久久久高潮国产精品视| 一区二区毛片| 亚洲第一级黄色片| 国产情人综合久久777777| 欧美大色视频| 久久久夜夜夜| 性欧美大战久久久久久久免费观看 | 欧美日韩久久久久久| 久久视频免费观看| 一区二区三区精品视频在线观看| 亚洲视频网在线直播| 久久成人18免费观看| 日韩视频一区二区| 亚洲国产一区二区在线| 国内精品视频在线观看|