Win7 IIS7运行ASP访问Access数据库时为什么会出错
说到在64位Win7用IIS7跑基于Access的ASP系统,常见报错“Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'”其实挺让人头疼的。为啥会这样?主要原因就是64位系统对Microsoft OLE DB Provider for Jet驱动的支持有点坑,它根本不支持通过Microsoft Access Driver (*.mdb) 来访问数据库,尴尬吧!所以数据库连接直接挂掉就不太奇怪啦。
不仅如此,有时候遇到的错误代码3706 “未找到提供程序”,这大多也跟系统位数有关。因为这种情况只有64位系统才会,因为默认没有启用32位应用程序池导致。你要知道,IIS默认是66位的,如果程序是32位的,它就无法正确加载数据库驱动,嗯,真是小细节决定成败啊!

如何正确配置Win7 IIS7让ASP+Access数据库畅通无阻
想要搞定这些问题,我们得整几个步骤走走流程,保证IIS环境和数据库设置兼容。这儿给大家总结下绝对实用的1、2、3,分分钟帮你解决问题:
-
开启32位应用程序池支持
进入IIS管理器,找到“应用程序池”,然后点右侧“高级设置”,把“启用32位应用程序”调成True,搞这个真是关键中的关键,没错它能解决绝大部分驱动不兼容问题。 -
调整文件夹权限,解决数据库无法写入的问题
如果数据库只能读不能写,十有八九是权限不给力。打开“C:\inetpub\wwwroot”里你的项目文件夹,找到IIS_IUSRS用户权限,确保它有完全控制权,还有“C:\Windows\Temp”目录,也别忘了给IIS_IUSRS满权限。简单一句话,就是让系统放行,别拦着程序写入数据库。 -
配置ODBC数据源和启用相关功能
打开控制面板里的【管理工具】——ODBC数据源管理器,切换到【系统DSN】,点击【添加】,选Microsoft Access驱动,创建对应的数据库数据源。还有,确保你在“打开或关闭Windows功能”里勾选了IIS及ASP支持组件,不然运行环境也不给力。 -
启用父路径支持,避免路径问题导致连接错误
IIS站点主页里打开ASP设置,找到“行为”组,把“启用父路径”设置成True,别忘了点击应用哦,这一点常常被忽略,但超级重要。 -
以管理员身份运行命令行,重设IIS配置
有时候错误不在代码而在环境,打开命令提示符(管理员),执行相关命令重置IIS,保证各项设置生效。
这些动作看似多,但只要按顺序操作,基本上能够覆盖大部分Win7下IIS运行ASP+Access的坑。遇到连接不上或者权限不够时,赶紧检查这里,十有八九就能搞定。

相关问题解答
-
为什么64位的Win7系统运行ASP连接Access会报80004005错误?
哎,这个问题很普遍,主要是因为64位Win7系统自带的IIS环境不支持Access数据库的OLE DB驱动,特别是Jet驱动和*.mdb格式。简单说,系统位数和驱动不匹配,导致Access数据库连接不上,所以才出现那个烦人的80004005错误。别急,只要把IIS中的32位应用程序池开启,基本上能摆平它,超实用! -
IIS运行ASP时数据库只能读不能写怎么办?
这问题听着麻烦,实则常见,关键点在于文件夹权限不对劲。你要去给“inetpub\wwwroot”下面的项目文件夹和系统Temp文件夹加上(IIS_IUSRS)完全控制权限,简单粗暴地说,就是让你的Web程序有足够权限写文件。操作完之后,数据库写入问题基本没戏耍你了,放心大胆去试吧! -
ASP+Access系统运行报错3706未找到提供程序,如何解决?
呵呵,这个错误其实超级“贴心”,提示你说了是32位程序没启用。多数情况下,只要你进入IIS的应用程序池设置里,把“启用32位应用程序”改成True,那就OK啦!就是这样一条简单的开关,让你的ASP和Access好好地“说话”,瞬间解决疑难杂症。 -
Win7系统怎么打开和运行ASP文件,没IIS咋办?
说白了,ASP是基于服务器端的脚本,想打开跑起来,得先装IIS。Win7里安装IIS也不难:去控制面板>程序>打开或关闭Windows功能,勾选IIS以及ASP相关组件,点确认,系统自动安装。之后把你的ASP文件放到wwwroot或者自己配置的站点文件夹里,用浏览器访问就行啦。如果实在懵,也可以用Visual Studio或者第三方工具体验,但IIS才是正统跑ASP的好帮手。
新增评论