在用asp连接access数据库时出现
Microsoft OLE DB Provider for ODBC Drivers (0x***********)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x5b4 Thread 0xa0c DBC 0x1f32454 Jet'。
连接代码是:
<%
set conn=server.createobject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver(*.mdb)};DBQ="&server.mappath("example3.mdb")
%>
请问高手这是DSN设置问题吗,具体该怎样解决呢?
如果回答还行的话再送上20分.
參考答案:引起这个错误的原因可能有多种。首先要检查数据库路径是否正确,数据库本身损坏等常见问题,如果还找不到问题原因,检查如下几个方面。
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=path.mdb;User Id=admin;Password=pass;
关于access数据库的其他疑难问题请参看微软的FAQ
;zh-cn;306518