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

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>
            久久一区激情| 国产精品久久久久9999高清| 欧美激情第8页| 欧美~级网站不卡| 亚洲成人资源| 欧美国产欧美亚州国产日韩mv天天看完整| 久久美女艺术照精彩视频福利播放| 久久久久国产精品一区| 另类天堂视频在线观看| 欧美aⅴ99久久黑人专区| 亚洲国产第一页| 制服丝袜亚洲播放| 久久国产精品99国产精| 免播放器亚洲| 国产精品九九久久久久久久| 国外成人网址| 一区二区三区视频观看| 久久精品国产免费观看| 亚洲国产精品悠悠久久琪琪| 亚洲一区二区三区三| 裸体一区二区| 国产欧美在线观看一区| 亚洲精选久久| 久久人人爽人人爽| 亚洲一区3d动漫同人无遮挡| 久久久久国内| 欧美天堂亚洲电影院在线观看| 国产欧美一二三区| 亚洲一区二区av电影| 午夜精品视频在线观看| 亚洲视频成人| 久久午夜羞羞影院免费观看| 亚洲精品中文字幕女同| 亚洲在线免费| 欧美日韩国产丝袜另类| 亚洲黄色av一区| 久久久久国产一区二区三区四区 | 欧美一区二区三区在线| 亚洲国产日韩欧美| 玖玖国产精品视频| 亚洲激情午夜| 亚洲精品在线电影| 欧美激情一区二区三区在线| 韩国av一区二区三区| 久久国产66| 久久精品在线| 亚洲精品日本| 一区二区三区偷拍| 国产欧亚日韩视频| 久久国产日韩| 老鸭窝毛片一区二区三区| 永久久久久久| 亚洲精品激情| 国产精品人人做人人爽| 久久阴道视频| 欧美日韩一区二区在线播放| 亚洲一区在线视频| 9色国产精品| 一本色道久久综合亚洲精品高清| 欧美片在线观看| 欧美一区二区视频免费观看 | 亚洲国产高清一区二区三区| 免费在线亚洲欧美| 欧美视频网址| 亚洲激情电影在线| 一区二区在线看| 香蕉久久夜色精品| 亚洲免费在线精品一区| 奶水喷射视频一区| 久久成人精品电影| 欧美午夜精品理论片a级大开眼界| 玖玖在线精品| 揄拍成人国产精品视频| 欧美在线资源| 午夜精品美女自拍福到在线 | 一区二区成人精品 | 久久精品久久综合| 亚洲专区免费| 国产精品色网| 欧美伊人精品成人久久综合97| 在线亚洲精品福利网址导航| 欧美大片一区| 一本到高清视频免费精品| 日韩视频欧美视频| 欧美午夜www高清视频| 亚洲天堂av综合网| 久久久精品网| 亚洲国产精品激情在线观看| 久久一区二区精品| 亚洲精品在线电影| 性欧美激情精品| 亚洲一区3d动漫同人无遮挡| 欧美一区二区三区免费观看| 国产精品久久久久国产精品日日 | 日韩一级免费| 欧美在线地址| 亚洲九九精品| 欧美日韩国产影院| 午夜天堂精品久久久久| 亚洲国产美女久久久久| 亚洲私人影院| 激情综合色综合久久| 欧美久久综合| 久久精品综合网| 亚洲欧美日韩精品在线| 亚洲国产免费| 亚洲大黄网站| 久久久免费精品| 国产精品99久久99久久久二8| 伊人久久亚洲热| 国产亚洲制服色| 国产精品久久久久久久午夜| 久久夜色精品| 欧美在线播放一区| 欧美一区深夜视频| 欧美伊久线香蕉线新在线| 亚洲免费中文| 久久成年人视频| 久久久久久久综合色一本| 久久精品国产第一区二区三区最新章节 | 欧美日韩国产色综合一二三四| 亚洲天堂视频在线观看| 亚洲美女在线视频| 亚洲日韩欧美一区二区在线| 国产视频一区二区在线观看 | 国产精品成人aaaaa网站| 久久综合中文字幕| 欧美日本在线播放| 欧美午夜精品一区| 亚洲盗摄视频| 亚洲视频一区二区免费在线观看| 一区二区三区视频在线| 午夜一区二区三区在线观看 | 欧美性视频网站| 国产色爱av资源综合区| 在线成人小视频| 日韩一二三区视频| 久久久久久亚洲精品中文字幕| 亚洲成人自拍视频| 亚洲欧美另类国产| 欧美不卡视频一区| 黄网站色欧美视频| 午夜精品久久久久久久男人的天堂| 久久久夜精品| 亚洲欧美国产视频| 欧美—级在线免费片| 136国产福利精品导航| 久久国产一区二区三区| 欧美日韩性视频在线| 亚洲欧洲午夜| 欧美激情第五页| 蜜乳av另类精品一区二区| 国产婷婷色一区二区三区四区| 亚洲永久网站| 亚洲午夜电影| 国产精品一二一区| 性一交一乱一区二区洋洋av| 亚洲精品国产精品乱码不99| 欧美顶级少妇做爰| 亚洲人成艺术| 在线看国产一区| 久久人91精品久久久久久不卡| 一区二区三区四区五区在线| 国产精品视频一| 久久先锋影音| 欧美韩国一区| 久久av资源网| 久久精品国产视频| 一区二区三区精品视频在线观看| 亚洲精品久久视频| 国产区欧美区日韩区| 可以看av的网站久久看| 欧美激情一区二区三区成人 | 欧美日韩国产影院| 欧美一区视频在线| 欧美黄色一级视频| 一本色道久久88精品综合| 亚洲婷婷国产精品电影人久久| 激情婷婷欧美| 亚洲一级免费视频| 亚洲欧洲日韩综合二区| 午夜精品视频一区| 久久精品免费观看| 国产偷国产偷精品高清尤物| 久久成人综合视频| 国产精品高潮呻吟久久av无限| 麻豆精品视频在线观看| 国产精品久久九九| 亚洲美女黄色片| 国产真实乱子伦精品视频| 久久精品成人| 欧美日韩一区在线| 免播放器亚洲一区| 欧美日韩福利在线观看| 日韩网站在线| 欧美在线播放| 亚洲一区二区三区视频| 美女视频黄a大片欧美| 久久久久在线观看| 久久九九久久九九|