網(wǎng)站Access數(shù)據(jù)庫出現(xiàn)Microsoft JET Database Engine 錯(cuò)誤80004005 未指定的錯(cuò)誤的解決方法
使用獨(dú)立服務(wù)器,例如vps、云主機(jī)的用戶在自己搭建IIS+Access+asp環(huán)境后訪問網(wǎng)站出現(xiàn):“Microsoft JET Database Engine 錯(cuò)誤80004005 未指定的錯(cuò)誤 /conn.asp ,第5行” ,檢查conn.asp文件內(nèi)容:
<%
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ù)庫時(shí)出錯(cuò)
原因及解決方法:
1.數(shù)據(jù)庫文件或數(shù)據(jù)庫文件所在的文件夾權(quán)限問題:
IIS匿名用戶應(yīng)該對(duì)數(shù)據(jù)庫文件和存放該數(shù)據(jù)庫的文件夾有寫入、讀取、修改的權(quán)限,右鍵單擊文件夾,屬性,選擇“安全”選項(xiàng)卡,點(diǎn)擊“高級(jí)”,選擇“權(quán)限”選項(xiàng)卡,選中IIS匿名賬戶,一般是“ISUR_”用戶,點(diǎn)擊“編輯(E)”,按照下圖所示設(shè)置權(quán)限,設(shè)置后點(diǎn)擊確定保存修改。
2.C:/windows/temp目錄權(quán)限問題
asp程序使用JET引擎訪問Access數(shù)據(jù)庫時(shí)會(huì)在系統(tǒng)盤符C:/windows/temp 內(nèi)創(chuàng)建臨時(shí)文件,該類文件一般是JET***.tmp這種類型,如果該目錄沒有寫入權(quán)限,JET就無法創(chuàng)建臨時(shí)文件,導(dǎo)致報(bào)錯(cuò)。該怎么設(shè)置temp目錄的權(quán)限呢?和前面一樣,右鍵單擊C:/windows/temp文件夾,屬性,選擇“安全”選項(xiàng)卡,點(diǎn)擊“高級(jí)”,選擇“權(quán)限”選項(xiàng)卡,選中Users用戶,點(diǎn)擊“編輯(E)”,按照截圖所示的權(quán)限修改Users權(quán)限: