Ran into a problem today trying to light up a Classic ASP site that was a copy of an existing site on the same server. However HTTP 500 errors were all we could get.
Once we enabled debug logging in ASP, we saw that there was a problem with the ADODB connection being able to open the MSAccess database within the site folders.
Gotta remember to enable 32-bit apps in the application pool advanced settings.
Note: Microsoft Access databases have been popular for many years with developers who use Active Server Pages (ASP) for small-scale applications, but Microsoft Access databases are not designed for scalability, therefore Access databases should only be used where performance is not a factor, and it is best not to host large-scale data-driven applications with Microsoft Access databases.
In IIS 7.0, IIS 7.5, and above, several security changes were made that may affect how classic ASP applications will function. For example, if you were to copy a classic ASP application that uses an Access database that is within the Web site’s content area to a server that uses IIS 7.0 or above, you may receive the following error message:
Microsoft JET Database Engine error ‘80004005’
/example.asp, line 100
This is a generic error triggered by the Access driver that may occur for a variety of reasons, but incorrect permissions is a common cause. More specifically, the ability to work with Microsoft Access databases is implemented through the Microsoft JET Database Engine, which creates various temporary and lock files when it connects to an Access database. The following sections will discuss some of the reasons why this may occur and how to resolve those situations.
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.