access不能翻開注冊表關鍵字錯誤處置辦法(80004005錯誤)。本站提示廣大學習愛好者:(access不能翻開注冊表關鍵字錯誤處置辦法(80004005錯誤))文章只能為提供參考,不一定能成為您想要的結果。以下是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數據庫中的記載。