ODBC_Microsoft_Access_Driver]常见错误_不能打开注册表关键字的解决办法

网站一直出现以下错误,经过研究解决,现将解决办法与各位共享!

Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0xc2c Thread 0xda8 DBC 0x11c85ac Jet'。

经过网上查询说是两个原因

1。微软已经不更新ODBC,需要改用JET的方式连接ACCESS数据库文件; 
2。系统目录的权限发生的变更。

解决方式如下:

1、如果自己有操作服务器的权限: 
在自己的2003服务器上测试,把windows\temp目录增加everyone用户读写权限,然后再重启计算机可以解决故障。

2、自己没有服务器操作权限:

但是联通的idc服务器都在济南,我们是登录不上的因此只有想办法改变数据库联接方式,经过多次测试,原联接

<% 
set conn = Server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("xxx.mdb")

%>

修改为

<% dim conn 
dim connstr 
set conn = Server.CreateObject("ADODB.Connection")
connstr="provider=microsoft.jet.oledb.4.0;data source=" &server.mappath ("xxx.mdb") 
'connstr="DBQ="+server.mappath("../data/jf.asa") +";provider=microsoft.jet.oledb.4.0;" 
conn.open connstr 
%>

测试成功!!

posted @ 2012-03-25 15:07  憶言  阅读(1542)  评论(0编辑  收藏  举报