0

I feel that the title pretty much speaks for itself. I keep getting a server 500 error when i try to access a page on my site that is using the Access DB.

I created an ODBC (32 bit) Data Source using the driver Driver do Microsoft Access (*.mdb).

I am sure i am using the wrong drivers/IIS configurations. This used to be hosted on an old server and we are trying to move everything over.

Would anyone be able to point me in the right direction? Thanks!

EDIT

I was able to get errors printed to my page. Below is the following error:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found 
and no default driver specified

When I enable 32-bit Applications I get the following error:

HTTP Error 404.17 - Not Found
The requested content appears to be script and will 
not be served by the static file handler.
user692942
  • 16,398
  • 7
  • 76
  • 175
scapegoat17
  • 5,509
  • 14
  • 55
  • 90

1 Answers1

1

This issue is related to running 32bit applications on a 64bit server. Furthermore, if you have installed something else on it (for example, Outlook Web Access, or OWA for short) it can disrupt the IIS with adding it's 64bit modules to load globally, and that would effectively cause errors on 32bit pools.

The following debugging is assuming you have a requirement to run 32bit ASP application on a 64bit IIS server.

  1. You have to set your application pool to run as 32bit
  2. If the 32bit pool stops right after you make a request for an ASP page, it means that most probably there are 64bit modules failing to load. You need to see which dll is creating the issues by viewing the Windows Event log (eventvwr). Then, one by one, you edit the applicationHost.config file and add preCondition="bitness64" to each module that you see in the eventvwr until you get rid of all the errors in the log.
  3. When finished with step #2, your pool should be working, but your app might not - it will most probably report 404.17, even if there is an ISAPI handler for ASP. When you open IIS, on the left side choose the server and on the right open the ISAPI and CGI restrictions. You will see that there's an ASP entry there (if not - you need to install it as a feature on the server). The ASP might point to something like %windir%\system32\asp.dll, but you need to make another entry. Your appPool is running as 32bit on a 64bit machine (that's shortened as WOW64 = 32bit Windows application running on Windows 64bit - Windows on Windows64), and you need to add an asp from %windir%\SYSWOW64\asp.dll. Also, add the corresponding handler (navigate to handlers, and practically repeat the entry for asp but use the SYSWOW64 folder instead of system32)

This should (finally) get it working.

veljkoz
  • 8,384
  • 8
  • 55
  • 91