64位Windows 7系统运行IIS7访问Access数据库为什么报错
说到64位Win7用IIS7跑基于Access的ASP系统时,经常碰到那个让人头疼的报错:“Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'”!这个问题其实是因为64位Windows系统根本不支持Microsoft OLE DB Provider for Jet驱动,也就是说,直接通过Microsoft Access Driver (*.mdb)连数据库根本不靠谱,系统根本不给面子。
所以,遇到这种情况啊,千万别着急,咱们得了解这背后的原理,才能对症下药,不然瞎折腾可就白费劲了。

IIS访问数据库失败和权限配置要怎么一步步搞定
-
访问IIS元数据库失败的原因
在请求网站的时候,有时候你会看到报错:“访问 IIS 元数据库失败”。其实这多半是因为运行ASP.NET服务的进程账户,没有被赋予对IIS元数据库(比如IIS://servername/W3SVC)的访问权限。要知道,这可是IIS运行的"钥匙",没权限简直寸步难行啊! -
数据库文件夹权限设置技巧
遇上数据库连接错误,先别急着怀疑代码,先看看数据库文件所在的文件夹权限。步骤很简单:
- 打开“我的电脑”,点菜单的“文件夹选项”—>“查看”,把“使用简单文件夹共享(推荐)”的勾去掉,点确认。
- 回到那个数据库文件夹,右键点“属性”—>“安全”,然后点击“添加” —> “高级”—> “立即查找”,把对应的运行账户添加进去,权限给足哦。 -
给Temp目录赋予访问权限的重要性
你可能觉得数据库连接错误与临时目录没啥关系,但其实不然!MJ Jet引擎把临时文件改放在了C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp,如果对它没授权,数据库连接肯定不顺畅。
搞定办法就是给这个“Temp”目录加上“Authenticated Users”权限,重启一哈IIS,再试试连接,保证问题迎刃而解。 -
XP下IIS5.1数据库连接权限配置
老系统XP也别忘了,IIS5.1跑ASP时遇到数据库连不上的问题,一般跟C盘ntfs格式下的权限脱不了干系。去找找C:\Windows\Temp文件夹,给user权限打满勾,刷新页面后,基本看不到连接错误提示了。
总之嘛,权限问题是数据库连接错误的大头,耐心一点,一步步排查,肯定能搞定!

相关问题解答
-
64位系统为什么会导致IIS连接Access数据库出错?
哎呀,这个可真是个老大难了!64位Windows系统呀,本身不支持微软那个Jet驱动程序,它就是32位的专属,硬生生不给64位程序面子。说白了,Jet驱动不兼容64位环境,Access数据库连接自然就嗝屁啦!所以碰到这种情况,别怪自己,真的是系统硬伤啦。 -
遇到访问IIS元数据库失败时我该怎么办?
唉,这错误听上去挺吓人,但其实就是权限有点问题。你只要给ASP.NET运行的账户,赋予访问IIS元数据库的权限就好了。具体怎么弄?就是给对应账户权限,否则系统卡壳,网站请求自然失败。话说,这权限设置还真得细心,错了就麻烦哦! -
为什么给Temp目录授权对数据库连接这么重要?
嘿嘿,这个小细节很容易被忽视!其实,Access的Jet引擎会在临时目录创造缓存文件,权限不给,就没地方写,连接自然炸了。给Temp目录授权“Authenticated Users”,保证引擎能顺利写入,数据库连接才会顺畅。搞IT的朋友都知道,这招简直救命稻草啊。 -
XP系统下数据库连接错误用什么办法最快解决?
XP的IIS5.1确实有点老,但处理数据库连接出错还是挺简单的。你只要给C:\Windows\Temp文件夹增加足够权限,把user权限项全勾上,然后刷新网页,哗啦啦,错误就没啦!干这事儿也不是啥复杂操作,一步步弄好,轻松搞定。
新增评论