Microsoft OLE DB Provider for ODBC
Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。它已经被别的用户以独占方式打开,或没有查看数据的权限。
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。它已经被别的用户以独占方式打开,或没有查看数据的权限。
我想这个错误对于使用Vista又想用ASP+Access的人来说就像每天早餐吃面包加牛奶一样司空见惯了(加个鸡蛋貌似也不错)。
有时会出现另外的错误,形如:
An error occurred on
the server when processing the URL. Please contact the
system administrator.
恭喜你,你引发了一个Error,至于这个Error是什么,我也不知道。
解决方案:
打开IIS7的ASP设置的“调试属性”选项,“将错误发送到浏览器”设为True,然后点右边的应用即可。
解决了该错误后,再次恭喜你,你有机会遇到第一个Error了。
第一个问题出现的情况只有两种,这里直接说权限的问题,首先按照网上能广泛找到的,设置父路径
给Vista安装目录C:\windows\ServiceProfiles\NetworkService\AppData\Local\Temp目录添加一个"Autheticated
Users"的读写或完全控制权限。
到这里有很多人依然无法连接Access的数据库,这里是由于在NTFS分区下另需配置权限,如下:
-
文件夹选项->查看把文件的简单共享去掉 (2K/XP)
-
右击数据库目录, 在安全选项卡里, 加上IUSR_XX (XX为你的机器名) 的可修改权限. (也可直接加入 guests 组或 everyone 修改权限. 不推荐)
-
给 "系统盘:\windows\temp" 文件夹加上everyone的完全控制权限. (2003)
这样,理论上讲就可以连接成功。
这时又遇到了另一个错误:
Provider 错误
'80004005'
未指定的错误
未指定的错误
(看到那一串数字很容易让人联想这是不是某架失事飞机的编号)
将
Set conn=Server.CreateObject("ADODB.CONNECTION")
conn.open "driver={microsoft access driver
(*.mdb)};dbq="&server.mappath("example.mdb")
第二行改写为
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("example.mdb")
很显然这里我们采用了另一种方式避过了这个问题。
一劳永逸的解决方案是:
Winkey +
R
Winkey + R
Winkey + R
Congratulations!
OK,现在我们终于可以开始 DoubleA(ASP + Access)了。
插入表情