網(wǎng)站Access數(shù)據(jù)庫出現(xiàn)Microsoft JET Database Engine 錯誤80004005 未指定的錯誤的解決方法
使用獨立服務器,例如vps、云主機的用戶在自己搭建IIS+Access+asp環(huán)境后訪問網(wǎng)站出現(xiàn):“Microsoft JET Database Engine 錯誤80004005 未指定的錯誤 /conn.asp ,第5行” ,檢查conn.asp文件內容:
<%
db=”../database/mydb.mdb”
Set conn = Server.CreateObject(“ADODB.Connection”)
connstr=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(“”&db&””)
conn.Open connstr 第5行
%>
第5行是conn.Open connstr ,可以知道這是asp程序在連接Access數(shù)據(jù)庫時出錯
原因及解決方法:
1.數(shù)據(jù)庫文件或數(shù)據(jù)庫文件所在的文件夾權限問題:
IIS匿名用戶應該對數(shù)據(jù)庫文件和存放該數(shù)據(jù)庫的文件夾有寫入、讀取、修改的權限,右鍵單擊文件夾,屬性,選擇“安全”選項卡,點擊“高級”,選擇“權限”選項卡,選中IIS匿名賬戶,一般是“ISUR_”用戶,點擊“編輯(E)”,按照下圖所示設置權限,設置后點擊確定保存修改。
2.C:/windows/temp目錄權限問題
asp程序使用JET引擎訪問Access數(shù)據(jù)庫時會在系統(tǒng)盤符C:/windows/temp 內創(chuàng)建臨時文件,該類文件一般是JET***.tmp這種類型,如果該目錄沒有寫入權限,JET就無法創(chuàng)建臨時文件,導致報錯。該怎么設置temp目錄的權限呢?和前面一樣,右鍵單擊C:/windows/temp文件夾,屬性,選擇“安全”選項卡,點擊“高級”,選擇“權限”選項卡,選中Users用戶,點擊“編輯(E)”,按照截圖所示的權限修改Users權限: