欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 2806 0

?

連接數據庫時發生

?

"一般性網絡錯誤"

?

的另類解釋

?

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] 一般性網絡錯誤。 ”呢?

服務器頁面調用的是封 裝好的 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

?

?



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12736


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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩视频一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 四虎4hutv永久在线影院 | 久草久草久草 | 香蕉草草久在视频在线播放 | 成人福利 | 欧美亚洲黄色 | 狠狠狠色丁香婷婷综合激情 | 五月天婷婷综合 | www香蕉视频 | 国产日产精品一区二区三区四区 | 色噜噜狠狠狠狠色综合久不 | 日日骚视频| 天堂成人| 99视频这里有精品 | 亚洲欧美一区二区三区综合 | 久久国产精品一区二区 | 大逼视频 | 亚洲美女综合 | 看个毛片 | 美国一级大黄 | 免费观看成人碰视频公开 | 亚洲精品免费观看 | 爱色av| 亚洲特黄 | 成人片网址 | 欧美日韩一区二区中文字幕 | 欧美一页 | 久草免费在线播放 | av在线看网站 | 亚洲国产91| 美女露尿口视频 | 日韩v在线 | 欧美激情一区二区三级高清视频 | 黑人性xxxⅹxxbbbbb | 色天天久久 | 午夜视频高清在线aaa | 日韩欧美专区 | 欧美全黄| 久久综合图区亚洲综合图区 | 91视频网 |