问: 我的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
|