亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

連接數據庫時發生"一般性網絡錯誤"的另類解釋

2024-07-21 02:04:07
字體:
來源:轉載
供稿:網友
  連接數據庫時發生"一般性網絡錯誤"的另類解釋
  
  Revision History:
  Version
  Date
  Creator
  Description
  1.0.0.1
  2003-11-15
  鄭昀
  草稿
  Implementation Scope:
  本文檔將說明出現一種不容易想到原因的訪問數據庫時發生“一般性網絡錯誤”,錯誤報告的來源是ADODB,錯誤號是“-2147467259,或者0x80004005”。
  
  繼續閱讀之前,我們假設您熟悉以下知識:
  n Microsoft SQL Server 2000
  n Microsoft ADO
  關鍵詞:
  SQL Server、ADO、DBMSSOCN、0x80004005
  
  現象
  一天,突然有這么一個問題擺在面前:
  用戶瀏覽工作流系統時,突然跑出來這么一個錯誤:
  Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6'
  
  缺少 'End'
  
  /iisHelp/common/500-100.asp,行242
  
  Microsoft OLE DB Provider for SQL Server 錯誤 '80004005'
  
  [DBMSSOCN]一般性網絡錯誤。請檢查網絡文檔。
  
  /xxx/yyyframe.asp,行23
  
  經過排查,確定真正的原因在于調用ADO連接SQL Server 2000時,發生異常,錯誤描述就是“[DBMSSOCN]一般性網絡錯誤。請檢查網絡文檔?!保劣谀莻€“Microsoft OLE DB Provider for SQL Server 錯誤 '80004005'”其實并沒有太多意義。
  
  為什么會突然出現“[DBMSSOCN]一般性網絡錯誤?!蹦兀?BR>  服務器頁面調用的是封裝好的COM+ STA 組件,連接SQL Server 2000的其實是這個組件。
  后來又提供一個比較重要的信息,當這些事情發生的時候,注意到COM+應用的進程占用了200MB的內存。
  初步的猜想
  以前曾經在其他地方遇到過這種錯誤。
  但是,那是因為網卡或者網線閃斷(“network is down”),造成連接數據庫失敗,服務又不停地試著去連接。不知道在什么情況下,服務不斷報告:
  錯誤環境說明:運行SQL命令從數據庫讀取記錄時發生COM異常;
  錯誤說明:[dbmssocn]一般性網絡錯誤。請檢查網絡文檔。
  錯誤號:-2147467259
  “[dbmssocn]”指的是,當前用TCP/IP協議與數據庫通信。
  
  但是,這次環境的網絡質量沒有問題。
  模擬試驗
  專家指出可能是因為同一臺服務器和SQL Server之間的連接都沒有Close,所以導致連接達到被允許的最大數目,從而被全部關閉。
  于是我們試驗,看看一臺服務器被允許與SQL Server建立最多多少個連接。
  更多信息
  測試程序中重用了原工程中InitADOCmd (_Command** ppiCmd)方法。
  這個方法利用ADO.Command::put_ActiveConnection方法來建立數據庫連接的:
  varConn = _bstr_t("Provider=SQLOLEDB.1;……”);
  hr = t_piCmd->put_ActiveConnection(varConn);
  
  在Windows XP環境中,循環調用這個函數到了1980次,程序就出現幾秒鐘的停頓。之后,就得到0x80004005的錯誤返回值。這個值是由put_ActiveConnection方法返回的,并不是異常。所以看不到ADO異常描述。
  我們通過測試程序停滯時,立刻用一個VBS腳本再次請求建立數據庫連接。于是,VBS腳本一起停滯,隔了幾秒鐘后,拋出異常,錯誤描述為:
  "[DBNETLIB][ConnectionOpen (PreLoginHandshake()).]一般性網絡錯誤。請檢查網絡文檔。"
  
  之后的1981、1982、...次put_ActiveConnectio調用,都會是同一個錯誤返回值。
  
  在SQL Server事件探查器中,看到1980次調用之前,都只有Audit Login事件。除非關閉測試程序,才會唰地一下所有的Audit Logout事件出來了。
  
  有時候,當第1981次建立連接的請求被SQL Server 2000認為超出允許范圍時,SQL Server 2000會主動將這一千多個的連接同時全部中斷。于是乎,在SQL Server事件探查器中,你也可以看到唰地一下所有的Audit Logout事件出來了。
  
  如果測試程序維持著這些數據庫連接的話,內存會持續增長,如下所示:
  
  在WinXP上(Win2000上允許連接的數目少),
  
  情況1:
  單純反復執行ADO.Command::put_ActiveConnection,則只有“Audit Login”事件,沒有Logout事件。這種請求最多達到1980之后,就會出現“一般性網絡錯誤”。
  
  情況2:
  如果是反復執行
  ADO.Command::put_ActiveConnection方法,然后又執行了查詢,返回記錄集,則這種循環最多達到483之后,就會出現“一般性網絡錯誤”。
  
  在實際測試中,第1種情況,最開始Demo用了6MB內存,最后累積的內存是:104MB。
   第2種情況下,最開始Demo用了6MB內存,最后累積的內存是:39.5MB。
  
  
  
  
  
  
  
  你可以通過下面的SQL語句察看當前與SQL Server保持的連接都來自于哪里,有多少個:
  SELECT dbid,DB_NAME(dbid) as DBName,hostname,status,last_batch
  FROM sysprocesses
  WHERE DB_NAME(dbid)='%YourDatabaseName%' AND (last_batch > 'YY-MM-DD MM:SS:00')
  ORDER BY last_batch DESC
  
  總結:
  雖然這種情況出現的比較罕見,但是如果排除了網絡質量原因,你也許可以注意一下當前服務器與SQL Server的connection數目是否維持在一個正在高漲的數量。
  當連接不斷增加的時候,就要當心,服務器連接數據庫是有一定限制的,而且達到最大值后,其他程序再次請求連接時,就可能得到“一般性網絡錯誤”的警告,而且錯誤號80004005也并沒有說明到底發生了什么,SQL Server和ADO并不會告訴你連接數已經達到最大值。
  
  Disclaimers:
  本文檔所包含的信息代表了在發布之日,zhengyun對所討論問題的當前看法。本文檔不應理解為zhengyun一方的承諾,zhengyun不保證所給信息在發布之日以后的準確性。
  本文檔僅供參考。
  用戶必須遵守所有適用的版權法。在不對版權法所規定的權利加以限制的情況下,如未得到 zhengyun和CSDN.Net明確的書面許可,不得出于任何目的、以任何形式或手段(電子的、機械的、影印、錄制等等)復制、傳播本文的任何部分,也不得將其存儲或引入到檢索系統中。
  
  thank tian&wu
  Writen by zhengyun_ustc(at)hotmail.com
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
姬川优奈aav一区二区| 色综合老司机第九色激情| 国产亚洲欧洲高清| 亚洲激情中文字幕| 欧美激情欧美激情| 97视频国产在线| 欧美日韩另类字幕中文| 黑人精品xxx一区| 欧美黑人一级爽快片淫片高清| 日韩在线视频中文字幕| 亚洲精品自拍第一页| 97在线视频免费| 国产精品视频在线播放| 亚洲成人三级在线| 亚洲精品国产精品久久清纯直播| 黄色一区二区三区| 亚洲精品一区二区三区不| 尤物九九久久国产精品的特点| 久久久av网站| 国产精品视频一区二区高潮| 欧美激情乱人伦| 亚洲桃花岛网站| 亚洲欧美成人一区二区在线电影| 亚洲国产精久久久久久| 国产成人激情小视频| 国产主播精品在线| 国产精品美女久久久免费| 91国内精品久久| 亚洲激情视频网| 国产精品美女呻吟| 国产成人精品免高潮在线观看| 国产精品欧美风情| 欧美性猛交丰臀xxxxx网站| 久久久亚洲网站| 欧美第一黄网免费网站| 久久久国产视频91| 亚洲美女av电影| 精品久久香蕉国产线看观看gif| 亚洲第一区在线| 国产亚洲欧美aaaa| 国产精品色午夜在线观看| 中文字幕亚洲欧美在线| 视频在线观看99| 北条麻妃99精品青青久久| 国产精品中文字幕久久久| 国产婷婷色综合av蜜臀av| 日韩欧美在线视频观看| 亚洲欧美日韩爽爽影院| 成人精品视频99在线观看免费| 怡红院精品视频| 国产精品久久久久久久美男| 成人免费看片视频| 国产欧美一区二区| 91成人在线视频| 亚洲免费中文字幕| 久久天天躁狠狠躁夜夜躁| 51色欧美片视频在线观看| 亚洲网站在线播放| 国内精品视频在线| 国产亚洲视频在线观看| 97久久精品视频| 狠狠躁夜夜躁人人躁婷婷91| 日韩高清电影免费观看完整版| 日本精品久久久久影院| 日韩av免费在线| 欧美激情国内偷拍| 91成人天堂久久成人| 亚洲人永久免费| 欧美午夜精品久久久久久人妖| 亚洲一级一级97网| 亚洲视频在线观看视频| 日韩欧美国产免费播放| 91超碰caoporn97人人| 在线日韩日本国产亚洲| 亚洲影院污污.| 国产精品美女999| 精品视频在线导航| 91视频免费网站| 精品国产一区二区三区四区在线观看| 91免费版网站入口| 久久久久久这里只有精品| 久久免费国产视频| 精品成人在线视频| 久久99精品国产99久久6尤物| 日韩在线观看成人| 精品一区二区电影| 中文字幕av一区二区| 韩曰欧美视频免费观看| 欧美最近摘花xxxx摘花| 色多多国产成人永久免费网站| 日韩久久免费电影| 992tv在线成人免费观看| 亚洲色图18p| 亚洲激情国产精品| 欧美精品一区二区免费| 欧美在线性视频| 在线午夜精品自拍| 91黑丝高跟在线| 91夜夜未满十八勿入爽爽影院| 国产成人啪精品视频免费网| 亚洲精品日韩久久久| 久久久久久久久91| 欧美日韩成人黄色| 欧美激情欧美激情在线五月| 日韩精品视频免费| 国外成人性视频| 中文字幕亚洲欧美日韩2019| 久久九九国产精品怡红院| 久久久久国产精品免费| 欧美视频二区36p| 久久精品国亚洲| 欧美日韩国产中文精品字幕自在自线| 国产在线视频91| 中文字幕亚洲专区| 欧美亚洲另类视频| 精品久久久久久亚洲精品| wwwwwwww亚洲| 日韩精品视频在线播放| 国产精品视频精品视频| 欧美在线日韩在线| 国外成人在线直播| 欧美精品精品精品精品免费| 国产精品99久久久久久白浆小说| 日韩欧美亚洲国产一区| 欧美剧在线观看| 亚洲日韩欧美视频一区| 最新国产精品拍自在线播放| 欧美日韩国内自拍| 久久6免费高清热精品| 国产免费一区视频观看免费| 欧美老妇交乱视频| 国产欧美一区二区三区久久| 正在播放欧美视频| 久久精品国产96久久久香蕉| 国产精品白嫩美女在线观看| 国产91精品网站| 色香阁99久久精品久久久| 精品国产户外野外| 国产精品福利久久久| 亚洲午夜色婷婷在线| 亚洲色图av在线| 亚洲国产精品人人爽夜夜爽| 国内免费精品永久在线视频| 日韩成人黄色av| 欧美色视频日本高清在线观看| 欧美性猛交xxxx| 亚洲乱码一区av黑人高潮| 亚洲www视频| 久久精品国产一区二区电影| 国产精品免费小视频| 日韩在线免费视频观看| 日韩色av导航| 91综合免费在线| 国产精品视频公开费视频| 97婷婷涩涩精品一区| 久久青草福利网站| 亚洲第一视频网站| 欧美成在线观看| 国产精品91久久久| 国产精品91一区| 日韩**中文字幕毛片| 日本久久中文字幕| 欧美在线观看视频| 国产不卡一区二区在线播放|