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

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>
            国产精品成人午夜| 欧美韩日一区二区| 国产在线国偷精品产拍免费yy| 欧美—级a级欧美特级ar全黄| 美女精品在线| 国产精品video| 欧美色偷偷大香| 久久青草久久| 欧美www在线| 亚洲国产精品久久久| 久久婷婷综合激情| 欧美成人激情视频| 亚洲精品久久7777| 亚洲先锋成人| 欧美在线一二三区| 亚洲国产合集| 一本色道久久综合一区 | 免费日韩成人| 亚洲成人资源| 亚洲永久免费| 麻豆精品精华液| 欧美午夜精品久久久久免费视| 国产欧美日韩一区二区三区在线| 国产自产在线视频一区| 亚洲麻豆国产自偷在线| 性欧美1819sex性高清| 免费观看日韩av| 亚洲天堂成人在线视频| 久久影院午夜论| 欧美网站大全在线观看| 伊人色综合久久天天| 亚洲天堂网在线观看| 猫咪成人在线观看| 亚洲网站啪啪| 欧美精品久久99久久在免费线| 国产精品一区亚洲| 99re热这里只有精品免费视频| 欧美在线视频全部完| 亚洲片在线观看| 久久精品国产清自在天天线| 欧美视频在线观看 亚洲欧| 亚洲第一在线综合网站| 欧美伊人久久| 一区二区高清视频| 欧美精品乱人伦久久久久久| 亚洲大片免费看| 久久综合亚州| 久久国产欧美| 国产一区二区三区av电影| 午夜精品影院在线观看| 一区二区日韩欧美| 欧美日韩免费观看一区二区三区| 亚洲日本久久| 亚洲国产片色| 欧美人与禽猛交乱配| 日韩一级精品视频在线观看| 欧美激情亚洲另类| 欧美.www| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 久久久久久网站| 国产一区二区三区免费不卡 | 美腿丝袜亚洲色图| 欧美精品一区二区高清在线观看| 午夜精品国产精品大乳美女| 欧美性天天影院| 亚洲精品一区二区三区蜜桃久| 久久米奇亚洲| 亚洲一区二区影院| 久久亚洲影院| 亚洲三级国产| 欧美大片一区| 亚洲精品中文字幕在线| 午夜久久美女| 国产日产精品一区二区三区四区的观看方式 | 欧美精品免费在线观看| 国产精品视频免费观看| 一本一道久久综合狠狠老精东影业 | 亚洲一区二区三区免费视频| 亚洲国产精选| 欧美国产一区二区三区激情无套| 在线观看视频欧美| 久久综合九色综合欧美就去吻 | 日韩一区二区精品葵司在线| 欧美激情一区在线观看| 99国产一区二区三精品乱码| 亚洲人精品午夜| 欧美日韩hd| 性欧美1819sex性高清| 亚洲靠逼com| 国产精品theporn| 午夜精品一区二区三区电影天堂| 一区二区三区色| 国产精品入口夜色视频大尺度| 午夜精品影院| 欧美在线在线| 亚洲人www| 一个色综合导航| 久久欧美中文字幕| 一区二区三区av| 欧美午夜欧美| 先锋影院在线亚洲| 久久久久一区| 99成人精品| 亚洲午夜久久久久久久久电影院| 国产欧美日韩精品丝袜高跟鞋| 久久久综合网| 欧美日本国产视频| 蜜桃精品久久久久久久免费影院| 猛干欧美女孩| 亚洲欧美日本国产有色| 久久se精品一区二区| 亚洲国产一二三| 亚洲午夜一区二区三区| 在线日韩一区二区| 夜夜嗨av一区二区三区网页| 国产日韩在线一区| 久久天堂成人| 国产亚洲成人一区| 亚洲精品社区| 国内精品视频在线观看| 亚洲精品一区二| 激情av一区二区| 一本色道久久综合狠狠躁篇的优点 | 久久国产精品久久久| 一本色道久久| 亚洲一区黄色| 樱花yy私人影院亚洲| 一区二区三欧美| 亚洲欧洲午夜| 欧美一区二区三区在线播放| 一本色道久久综合亚洲精品小说 | 久久久水蜜桃av免费网站| 欧美全黄视频| 欧美激情第4页| 国产主播精品| 亚洲午夜精品一区二区三区他趣| 亚洲国内欧美| 久久久久久久久久码影片| 欧美香蕉视频| 欧美成人a∨高清免费观看| 国产精品入口福利| av不卡在线| 99视频一区二区三区| 久久精品水蜜桃av综合天堂| 亚洲欧美日韩一区| 欧美日本一区二区视频在线观看| 乱中年女人伦av一区二区| 国产伦精品一区二区三区免费迷| 99国内精品久久| 久久久久久久999| 亚洲视频在线观看网站| 欧美成人免费网站| 欧美黄在线观看| 影音先锋成人资源站| 久久亚洲国产成人| 国产欧美一区二区在线观看| 亚洲欧美日韩系列| 亚洲欧美激情视频在线观看一区二区三区| 每日更新成人在线视频| 免费高清在线一区| 好看的亚洲午夜视频在线| 久久国产精品72免费观看| 久久精品国产免费| 国产一区导航| 久久亚洲国产精品一区二区| 毛片基地黄久久久久久天堂| 激情五月***国产精品| 亚洲私人影院| 欧美一级久久久| 国产女主播一区| 午夜精品福利视频| 亚洲精品影视| 亚洲精品视频免费| 欧美一区二区三区喷汁尤物| 国产精品一区一区三区| 亚洲综合视频在线| 久久久久久久综合| 在线播放不卡| 欧美电影电视剧在线观看| 亚洲国产成人久久| 一区二区三区蜜桃网| 国产精品女人久久久久久| 在线综合亚洲| 久久看片网站| 亚洲另类视频| 1024亚洲| 国产精品v日韩精品| 欧美在线观看视频| 亚洲欧洲免费视频| 欧美一级欧美一级在线播放| 在线精品视频免费观看| 欧美日韩国产黄| 一区二区欧美在线观看| 久久夜色精品国产欧美乱极品| 亚洲看片网站| 狠久久av成人天堂| 欧美日韩国产在线播放网站| 久久gogo国模裸体人体| 欧美成人亚洲成人| 午夜精品区一区二区三|