发布时间:2015/1/18 14:46:04
最近BDPHP客服在处理一些客服服务器的时候发现系统之家下载的win7旗舰版有个明显的问题就是装了IIS运行asp程序的时候,access数据无法连接,经过排查发现问题在权限上,一直用着xp,前两天把系统换成了windows 7,一切感觉良好,但使用asp + access时出现问题。系统提示,数据库连接错误。
程序是没有问题的,在xp下一切正常,不用说,怀疑是IIS7可能少安装了什么东西以支持Access。
于是上网找资料,98%以上的资料都是Vista下的IIS7,仅有的Win7大概也是照抄Vista的,无奈只有按照资料一步一步操作。
操作过程如下:
1、打开IIS,设置应用程序池(ApplicationPool)为Classic.NETAppPool,不是默认的DefaultAppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。
2、“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“AuthenticatedUsers”的用户,并给予“完全控制”权限。其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。
问题依旧存在,重新安装IIS无数次,仍然报错,就是把所有选项选中安装,这该死的IIS7也不能给我点点惊喜。
如果不是新系统没安装php、mysql和mssql,我肯定直接放弃,万般无奈之下只有按以前的经验寻找解决办法。
抱着试一试的态度,当我把“系统盘:\Windows\temp”目录加上“Everyone”权限后,问题解决。
当然,Vista下的方法也必须使用,三步结合才能最终解决问题。
最后再把这三步重复一下:
1、打开IIS,设置应用程序池(ApplicationPool)为Classic.NETAppPool,不是默认的DefaultAppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。
2、“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“AuthenticatedUsers”的用户,并给予“完全控制”权限。其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。
3、“系统盘:\Windows\temp”目录添加一个“Everyone”用户,并给予“完全控制”权限。
另外,如果是64位的Win7,需要把IIS运行环境修改为32位,因为64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Dri-ver (*.mdb)方式连接。