最近ASP網頁+ACCESS資料庫的網頁,突然出現下列錯誤訊息!
-------------------------------------------------------------------
請嘗試執行下列動作:
按一下 重新整理按鈕,或稍後再試。
開啟 XXXXX 首頁,然後查看您想尋找之資訊的連結。
HTTP 500.100 - 內部伺服器錯誤 - ASP 錯誤
Internet Information Services
錯誤類型:
Microsoft JET Database Engine (0x80004005)
無法指出的錯誤
-------------------------------------------------------------------
或是
-------------------------------------------------------------------
請嘗試執行下列動作:
按一下 重新整理按鈕,或稍後再試。
開啟 XXXXX 首頁,然後查看您想尋找之資訊的連結。
HTTP 500.100 - 內部伺服器錯誤 - ASP 錯誤
Internet Information Services
錯誤類型:
Microsoft VBScript 執行階段錯誤 (0x800A01A8)
此處需要物件
-------------------------------------------------------------------
解決方法:
原來是使用了清理系統垃圾的批次檔案,裡面有一個步驟是先移除Temp資料夾再重新建立Temp,導致系統內的Temp資料夾權限跑掉,只要在%SystemRoot%\Temp資料夾上,給予everyone及IUSER_電腦名稱擁有讀取及寫入權限,網頁就可恢復正常運作。
另外以下這段簡單的程式碼是用來測試伺服器ASP網頁搭配ACCESS資料庫在IIS Server是否能正常運作,用來判斷是哪一端(IIS or Code or ODBC)發生的錯誤的參考依據。
ps. <及%中間的空格請自己刪除。
< %
Set conn =Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb")
sql = "select * from data1"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
If Not rs.EOF Then
Do Until rs.EOF
Response.Write rs("data1")
Response.Write Server.MapPath("test.mdb")
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
% >