今天本地的機器測試一段ASP代碼的時候,出現了“Active Server Pages 錯誤 'ASP 0113' 指令碼逾時”,只能訪問html頁面,在網上尋找到的解決方案是:
執行ASP程式時出現錯誤
錯誤:
Active Server Pages 錯誤 'ASP 0113'
指令碼逾時
/Index.asp
超過了指令碼啟動並執行最長時間。可以為 Server.ScriptTimeOut 屬性指定新值或更改 IIS 管理工具中的相應
值來更改此限制。
出現錯誤的原因:
在資料庫中查詢資料,資料量太大,導致指令碼逾時。
解決辦法:
1 在錯誤頁面的asp開始地區寫上Server.ScriptTimeOut=9999 即可。或可設定成稍小的參數。
2 您可以增加時間是允許來處理 ASP 指令碼用於特定 Web 網站。 要這樣做, 將 Internet Information
Server (IIS) 中繼資料庫值:
。開啟IIS
。右鍵有問題的網站的屬性
。單擊 主目錄
。在 ApplicationSettings@@ , 單擊 配置 。
。單擊 應用程式選項 選項卡。
。ASP 指令碼超 值增加到數字以防止指令碼逾時足夠高
3 系統沒有開啟FSO組件:FSO組件的開啟和關閉方法,Dll 檔案的註冊和登出:
運行cmd命令
注消FSO組件:RegSvr32 /u %windir%/SYSTEM32/scrrun.dll
啟用FSO命令:RegSvr32 %windir%/SYSTEM32/scrrun.dll
4 多次注消、啟動後還是出現錯誤,原因是沒許可權,不知道怎麼造成的,下邊提供解決方案
許可權出現了問題,開啟註冊表加入許可權!
在 開始-運行中敲入regedit,然後找到HKEY_CLASSES_ROOT/Scripting.FileSystemObject
右擊許可權,加入everyone,internet來賓帳號(IUSR...)使用者確定,然後重新啟動IIs即可搞定!
如果你們遇到跟我們一樣,你們可以找對應的欄位修改
還有一種情況會出這種錯
那就是把 Server.CreateObject("adodb.recordset") 字打錯了
我把adodb 打成了 adobe : )
但是這些方法對我這種情況都沒有效果,結果……
當我需要把一個檔案夾共用時,提示我沒有開server服務……想起來早上的時候結束了一個進程,會不會是這個問題呢……
“控制台”--“管理工具”--“服務”找到server服務,啟動…… 問題得到解決!
後來想想,出現這個錯誤,我的第一個反應是IIS配置問題,但是平時一直沒有出現這個問題啊,後來又覺得是代碼的問題,但是用修改以前的覆蓋回來,還是出現相同的錯誤。如果不是去做共用資料夾,可能還一直在茫無頭緒的找解決方案呢……唉,真是……