程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> Microsoft JET Database Engine 錯誤 80004005 未指定的錯誤

Microsoft JET Database Engine 錯誤 80004005 未指定的錯誤

編輯:關於Access數據庫
徹底解決“Microsoft JET Database Engine 錯誤 80004005” 下午網友那裡發過來消息,ASP程序連接Access數據庫出些錯誤,簡單看了一下,整理過程如下:
    1、基本信息
    程序代碼:
2~6行:
Dim databasePath,conn,connString
databasePath = "kphc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )
conn.Open connString
    錯誤信息如下:

http://127.0.0.1/conn.ASP
Microsoft JET Database Engine 錯誤 '80004005'

未指定的錯誤

/conn.ASP,行 6

    2、初步測試
    看看連接語句也沒什麼錯誤,不過第一反應還是換個寫法:
    程序代碼:
2~6行:
Dim databasePath,conn,connString
databasePath = "kphc.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connString = "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath( databasePath )
conn.Open connString
    錯誤如下:

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x474 Thread 0x290 DBC 0x79d024 Jet'.

/conn2.ASP,行 6

    3、再分析
    一般遇到這種問題,多數是因為mdb文件所在目錄中IUSER_SERVENAME用戶沒寫權限引起的,不過朋友的情況,mdb的磁盤都是FAT32的。在IIS配置中加入寫權限也是錯誤依舊,開始有點暈了。
    到MS“關於 Active Server Pages 和 Microsoft 數據訪問組件中的 80004005 錯誤的疑難解答”裡面也沒發現相同錯誤;倒是看到一片文章“關於ASP訪問Access數據的“不能打開注冊表關鍵字”80004005錯誤的探討”,大致是說需要修改Winnt/temp的權限,不過記得正常情況下temp目錄也沒有everyone的寫權限的,本來打算讓朋友給這個目錄加IUSER的寫權限來測試的,結果他的機器添加權限都出錯,ft!
    沒辦法,只要cmd下把IUSER加到administrators組看看了,添加後重起IIS,問題解決,2種連接方式都可以了,看來還是權限的問題引起的。因為朋友要吃飯了,所以沒再測試,具體是因為那裡權限不足,還沒找到。。。
    有時間再看看的時候給大家准信,呵呵!

一般是用A、修改Winnt/temp的權限,不過記得正常情況下temp目錄也沒有everyone的寫權限的。

如果不行的話。用B、把Iuser加到administrators組裡就可以解決了!我試過成功了!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved