Microsoft Office Access是由微軟發布的關系數據庫管理系統。它結合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統程序之一。Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理系統。它是微軟OFFICE的一個成員, 在包括專業版和更高版本的office版本里面被單獨出售。2018年9月25日,最新的微軟Office Access 2019在微軟Office 2019里發布。 access 不能打開注冊表關鍵字 80004005 錯誤信息如下: ---------------------------------- Microsoft OLE DB Provider for ODBC Drivers 錯誤 ''''80004005'''' [Microsoft][ODBC Microsoft Access Driver]常見錯誤 不能打開注冊表關鍵字 ''''Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet''''。 ---------------------------------- 下面幾個可能原因: 1。微軟已經不更新ODBC,需要改用JET的方式連接ACCESS數據庫文件; 2。系統目錄的權限發生的變更。 也有老帖子說什么原因是:“ACCESS數據庫文件是ACCESS97版本的”,這個無須考慮,我用的是ACCESS2000數據庫。 對于第一個原因,原來的連接字串如下: --ODBC連接方式------------------------ mdbpath=server.MapPath("my.mdb.asp") CnnStr = "DBQ=" & mdbpath & ";DRIVER={Microsoft Access Driver (*.mdb)};uid=admin;pwd=" ------------------------------------- 改用JET連接后連接字串為: ---JET連接方式--------------------- CnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;User Id=admin;Data Source="& mdbpath &" '''';Password=luntanbbs" ------------------------------------- 測試過后無效,雖然提示的錯誤信息有點不同: ---------------------------------- Microsoft JET Database Engine 錯誤 ''''80004005'''' 未指定的錯誤 ---------------------------------- 最后檢查第二個原因:系統目錄權限不足。經詢問,原來由于出于安全的考慮一同事把該服務器的WINNT目錄設置為 Administrators、system “完全控制”,users 只讀。 但是,按道理,這樣的權限設置,ODBC的驅動程序處于 winntsystem32odbcjt32.dll 這個也是可讀的,難道是因為缺少“執行”權限? 我把 winntsystem32目錄下所有以odbc開頭的DLL文件全部授予“執行”權限,發現還是一樣的錯誤信息。跟著我索性把整個 system32 目錄設成 everyone 可執行,可是一測試依然不行。 難道是還有其他文件被ODBC或JET調用但又不在這個system32目錄下且又沒有得到充分授權而導致失敗? 正在想的時候,驀然瞥見 winnttemp 目錄。嘿,我把 temp 目錄設置成 everyone 可“寫入”看看。 一測試,嘿,成了。使用ODBC連接方式的程序,成功的讀取更新ACCESS數據庫中的記錄。 Microsoft Access在很多地方得到廣泛使用,例如小型企業,大公司的部門。 |
溫馨提示:喜歡本站的話,請收藏一下本站!