程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> Access數據庫入門 >> access不克不及翻開注冊表症結字毛病處置辦法(80004005毛病)

access不克不及翻開注冊表症結字毛病處置辦法(80004005毛病)

編輯:Access數據庫入門

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數據庫中的記載。

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