账号 密码 验证码4位数字验证码如果您看不到验证码,可能是因为你的计算机关闭了Cookie,请开启Cookie后再登录
使用帮助
账号及系统使用
域名注册帮助
虚拟主机帮助
VPS使用帮助
租用托管帮助
邮局使用帮助
网站备案帮助
数据库使用帮助
备份工具使用
云引擎使用
当前位置:首页 >> 使用帮助 >> 虚拟主机帮助
使用帮助
出现“常见错误 不能打开注册表关键字”是什么原因?
日期:2009-10-10 09:23

问: 我的asp程序运行时提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x1844 Thread 0x1b40 DBC 0x554cc59c Jet'。

/friends/conn.asp,行5

这是什么原因?

答:这个是数据库连接失败造成的。首先检查conn.asp中连接数据库的路径是否正确,检查数据库是否确实存在。如果数据库已经存在并且连接程序中的路径没有错误,请将本地的access数据库重新上传一次。

如果服务器上的数据库才是最新的,不能重新上传解决,请将服务器上的数据库下载到您本地电脑,用access2000把你的数据库打开,然后用工具里面的修复数据库,修复一次再重新上传就可以了。

是否使用了access97的数据库格式,如果access数据库为在access97下建立的,则可能出现这个错误。解决方法是使用access2000及以上版本打开数据库,另存一下,数据库就会保存为Access2000的格式。

是否使用了了odbc驱动的数据库源连接方式,微软的odbc驱动存在一些不稳定的bug,有可能导致此类错误。请检查你的数据库连接字串,如果是类似以下方式:

Driver={Microsoft Access Driver (*.mdb)};Dbq=c:somepathdbname.mdb;Uid=Admin;Pwd=pass;

则证明你使用了odbc的access驱动连接方式,应该将其修改为oledb的access驱动方式。微软本身已经放弃了对odbc数据源连接方式的支持,并建议用户使用oledb方式,应该将连接字串改为如下方式:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:somepathdbname.mdb;User Id=admin;Password=pass;


关于access数据库的其他疑难问题请参看微软的FAQ
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;306518