Home >
Last week, I discussed how to see your installed 32-bit ODBC drivers on 64-bit Windows. I'd like to talk a bit more about why 32 -bit ODBC drivers, especially tha Microsoft Access Jet Driver, doesn't work by default on Internet Information Services on 64-bit windows, even though it does work with Access itself.
The reason is pretty simple: Access is a 32-bit application, but IIS uses 32-bit by default. You can change that for your entire application or for a single site, but in order to get information from a 32-bit data source under IIS in 64-bit windows, you have to make IIS run as if it were a 32-bit application.
Switching All Sites to 32-bit
Many developers are using their IIS installations to emulate a 32-bit IIS installation at work or on a hosted web site. These developers don't need the full capabilites of IIS running as a 64-bit application. In fact, they will probably get closer to the environment they are trying to emulate if they throttle back their entire IIS installation to be 32-bit. For these people, the simple fix is probably the best–to simply set the default application pool to enable 32-bit applications. Here's how:
First, open IIS manager and select "View Application Pools," then click "Advanced Settings"
When the Advanced Settings Window opens, simply change the "Enable 32 Bit Applications" flag from False to True. That's pretty much it.
Note that I've had better results when I increase the Maximum Worker Processes setting from the default of 1 to 10.
Changing just one site to 32 bit
If you need to enable Acces in one site, but you want to take advantage of 64 bits for your other sites, you can do that as well.
You start out at "View Application Pools" in IIS Manager, just as you would above. However, instead of selecting "Advanced Settings" on the Default Application Pool, you'll click "Add Application Pool"
This will open a dialogue where you can name your new pool:
As described above, you can set this pool to enable 32-bit Applications.
Now you need to set up your site to use this new pool. Open up the Default Web Site in IIS manager and scroll down until you see the folder that contains the site you want to enable your 32-bit driver for. Right-click it and select "Convert to Application." This will open a dialogue where you can select the application pool to use.

Select the elipsis (…) and select the new pool you created above and set to allow 32 bit Applications.




Facebook Application Development
Thanks for that! It would have taken me ages to find those settings, and in particular the 32 bit ODBC app in the previous article.
Thanks for a really useful article - this issue has been driving me mad!
However, my problems aren't yet over... I tried this solution but my web site just says "HTTP Error 503. The service is unavailable", and the application pool for my site (application) has stopped itself. If I re-start the pool manually and try again, I get the same result (503) and the pool has stopped itself again.
What am I doing wrong?
I remember reading somewhere else that you have to install .NET in 32-bit mode... I tried that last week and it broke exchange (over terminal services) so we had to quickly re-install it in 64-bit mode.
Do you (or does anyone) have a workaround for this?
Thanks for a really useful article - this issue has been driving me mad!
However, my problems aren't yet over... I tried this solution but my web site just says "HTTP Error 503. The service is unavailable", and the application pool for my site (application) has stopped itself. If I re-start the pool manually and try again, I get the same result (503) and the pool has stopped itself again.
What am I doing wrong?
I remember reading somewhere else that you have to install .NET in 32-bit mode... I tried that last week and it broke exchange (over terminal services) so we had to quickly re-install it in 64-bit mode.
Do you (or does anyone) have a workaround for this?
Thank you so much!!!! This article really saved my day!