欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > 服务器教程 >

访问access揭示不能打开注册表要害字

发表于2019-04-21 23:07| 次阅读| 来源网络整理| 作者session

摘要:访问access揭示不能打开注册表要害字
访问access揭示不能打开注册表要害字

  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数据库中的记载。