Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x5b4 Thread 0x2be0 DBC 0x947b7fc Jet'。
引起这个错误的原因可能有多种。首先要检查数据库路径是否正确,数据库本身损坏等常见问题,如果还找不到问题原因,检查如下几个方面:
1、是否使用了access97的数据库格式,如果access数据库为在access97下建立的,则可能出现这个错误。解决方法是使用access2000及以上版本打开数据库,另存一下,数据库就会保存为Access2000的格式。
2、是否使用了了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;