最近因为需要,把很久之前的一个asp程序拿回来调试,本以为IIS7这么高级的玩意肯定支持asp,没想到出现了以下问题:
按照以前的步骤设置新网站,设置端口,设置程序池,结果,打不开!
按照提示发现了这个页面:
http://learn.iis.net/page.aspx/559/running-classic-asp-applications-on-iis-70-and-iis-75/
Running Classic ASP Applications on IIS 7.0 and IIS 7.5
- Classic ASP Applications on IIS 7.0 and IIS 7.5 Overview
- Classic ASP Not Installed by Default on IIS 7.0 and IIS 7.5
- Classic ASP Script Error Messages No Longer Shown in Web Browser by Default
- Using Failed Request Tracing to troubleshoot Classic ASP errors
- Classic ASP parent paths are disabled by default
- Using Classic ASP with Microsoft Access Databases on IIS 7.0 and IIS 7.5
- APPL_PHYSICAL_PATH Server Variable on Windows Vista RTM
看来直接在2008R2的IIS7里调试asp还需要一番设置。2008R2已经是纯64位了,因为要用到access数据库,首先要改程序池的这个地方:
刚才又查了一下,原来是微软没有出支持64位的oledb,IIS默认运行在64位下,因此不能连接到oledb数据库了。
Working with 64-bit Systems
Unfortunately there are no 64-bit ODBC drivers, so on 64-bit systems you will have to run your applications in 32-bit mode. To do so, use the following steps:
- On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
- In the Connections pane, click Application Pools.
- Highlight the application pool for your application, then click Advanced Settings... in the Actions pane.
- In the Advanced Settings dialog, specify True for Enable 32-Bit Applications.
- Click OK to close the Advanced Settings dialog.
让他支持32位
然后打开程序,还是不行,IIS7里默认父路径也是关闭的,也需要打开,启用客户端调试
然后还是遇到那个经典的“操作必须使用一个可更新的查询”错误,这个应该就是数据库目录权限不够,但是已经添加了 IIS_IURS的权限啊。因为时间紧,只能给everyone添加写入权限了,这样应该不安全,但总算可以运行了。