asp oracle8i,win2k advance server服務器經常死機,查到原因,死機時,在事件查看器中報錯:Script Engine異常,一個Script Engine超出預期'c0000005'在'IActive Script::SetScriptSite()',來自'CActiveScriptEngine::Init()'或報錯:意外錯誤,外部對象中發生一個可捕捉的對象(c0000005)腳本無法執行.或報錯類似第一個錯誤但具體::後不同函數.
查了一些資料,發現::後的一些函數如addnameditem,setscript,parsescripttext,close是vbscript引擎與系統重要的溝通函數.
自己得出結論:a:vbscript引擎vbscript.dll文件壞了 ; b:程序有問題,導致引擎失常.
-----------------------------
一、事件查看器 應用程序
提示如下信息:
錯誤: Script Engine 異常. 一個 ScriptEngine 超出了預期'C0000005' 在‘IActiveScript::SetScriptState()’,來自‘CActiveScriptEngine::ResetToUninitialized()’ 。。
二,事件查看器 系統
依次出現以下提示信息:
1、服務器無法注冊管理工具發現信息。管理工具可能無法看到此服務器。數據錯誤。
2、進程外應用程序 '/LM/W3SVC/39/Root' 意外地終止。
3、進程外應用程序 '/LM/W3SVC/6/Root' 意外地終止。
4、進程外應用程序 '/LM/W3SVC/4/Root' 意外地終止。
5、進程外應用程序 '/LM/W3SVC/36/Root' 意外地終止。
系統環境:WIN2000 SP4 SQLSERVER2000 IIS(asp+.net)
具體說明:dllhost.exe內存使用超高,達到一定限度後WEB服務掛機,cpu占用率達到100%。結束dllhost.exe或重啟iis後web服務恢復正常,周期性的出現。
------------------------------
使 用 過 相 關 解 決 方 法:
----------------------------------------------------------------------------
1、從別的電腦上(同系統)拷貝Vbscript.dll,覆蓋前請備份!
----------------------------------------------------------------------------
2、重裝iis
----------------------------------------------------------------------------
3、更新ScriptEn.exe安裝一下
----------------------------------------------------------------------------
4、更新“組件服務”,一下是具體操作(這個需要謹慎,最好在本地機器上操作熟練,或先生成服務安裝包!)
a. 浏覽至“組件服務”並刪除下列程序包:注意:要刪除這些程序包,必須首先打開程序包的屬性,單擊高級選項卡,然後單擊以清除禁止刪除復選框。
? IIS In-Process Applications
? IIS Out-of-Process Pooled Applications
? IIS Utilities
b. 打開命令提示窗口,然後使用以下命令切換目錄:
cd %windir%\system32\inetsrv
c. 運行以下命令:
rundll32 wamreg.dll, CreateIISPackage
注意:必須准確鍵入“CreateIISPackage”;它區分大小寫。
regsvr32 asptxn.dll
d. 關閉並重新打開“組件服務”。您應看到已經重新創建的所有這三個 IIS COM+ 應用程序。
e. 從命令行運行 IISRESET,並對先前未正確加載的任意 ASP 頁進行測試。
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa
2.另一種解決辦法:
事件類型: 錯誤
事件來源: Active Server Pages
事件種類: 無
事件 ID: 5
描述:
Script Engine 異常. 一個 ScriptEngine 超出了預期’’C0000005’’ 在’’IActiveScript::SetScriptState()’’,來自’’CActiveScriptEngine::ResetToUninitialized()’’ 。.
解決文件:
點擊浏覽該文件
Script Engine 異常. 一個 ScriptEngine 超出了預期C0000005
服務器運行一段時間後就會虛擬內存被占用滿..而導致IIS掛起..
在運行是只要運行asp文件就會在服務器上出現如下錯誤事件
類型: 錯誤事件來源: Active Server Pages事件種類: 無事件 ID: 5日期: 2003-12-26事件: 18:56:27用戶: N/A
計算機: BOX29
描述:錯誤: Script Engine 異常. 一個 ScriptEngine 超出了預期\’C0000005\’ 在\’IActiveScript::SetScriptState()\’,來自\’CActiveScriptEngine::ResetToUninitialized()\’ 。。
若要獲取關於此消息的更多的信息,
請訪問 Microsoft 聯機支持站點: ">http://www.microsoft.com/contentredirect.asp ; 。
大家如果看到以上的系統日志那就請你不要著急了,我這裡就是你最終的答案.
1主要是access引起的
2access性能問題,只要超過50m性能急劇下降(這是網上的一個網友說的,本人沒有測試過,但是我任為基本是這樣的),意思是說access超過這個數字就有可能發生上面的錯誤.本人的數據access就200m.
3解決的辦法就是把沒有用的數據備份,刪除這部分數據.降到50m以下.如果用一個新的就更好.
4如果你覺的這樣還沒有真正解決問題,最好的辦法就是把accss升級為大型數據庫ms sql server 2000這樣就徹底的解決了問題.以後也不必擔心了.
下面幾點也一定要注意,這個也與上面的問題有關
1我們都知道打開連接是非常占內存的.在編寫程序時一定要釋放.