Setting UP IIS 5.1 for Connection with MS ACCESS 2007
Hi, Guys
Well I recently ran into an issue where an office wanted to host a site internally. BUT they were running SBS Server 2008 64bit which integrates Exchange and IIS. Resulting in the fact that a site with an MS ACCESS back end cant be hosted on this OS. Why you say?
Microsoft in there wisdom decided that exchange should now only be 64bit, so the operating system and everything else that goes along with it needs to be 64 bit. But hang on cant I compile my site in 32bit and 64 bit. Correct you can, but the DATA Connectors (JET) that are used for MS ACCESS ARE 32bit and they are going to stay that way it seems. Unfortunately on top of this we also cant tell IIS to Run in 32BIT mode because it is intertwined with the MAIL SERVER/Exchange which only works in 64bit mode. Lots of tricks can be tried to hack this and make it work, but in the end you will most likely just give yourself a headache and in the process disable there exchange server and there MAIL.
So that’s the problem in a nut shell.
Which brings me back to the point of this article, being a small office and only a small number of people connected to the system, the easiest and cheapest way out of it was to setup an old XP computer with IIS on the network. Installing the relevant windows updates, along with the Dot Net frame work 2 and then 3.5 then starting the configuration.
This is a brief over view of what I did with the main steps.
1. Firstly we did a clean install of windows and loaded appropriate drivers etc. (Clean Machine)
2. Added IIS server. (Control Panel/Add Remove/Add Remove Windows Components)
3. Installed DOT NET 2.0
4. Installed DOT NET 3.5
5. Went through and did all the windows updates.(Including patches for .net)
6. Next I registered the .net 2 framework with IIS.
Open Cmd Prompt input the following
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -i
7. By default IIS on XP will only support 10 connections, 40 is the max we can go.
The following changes scripting over to use cscript and then changes max connections to 40
Open Cmd Prompt input the following
cscript //h:cscript
Then the following
C:\Inetpub\AdminScripts\adsutil set w3svc/MaxConnections 40
Now you can run ASP.NET sites on your XP Machine!
XP PRO SP3 will support Ms Access Databases 97-2003 but not MS Access 2007.
You will get the following error.
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
8. Simple fix for this. Download and install the “2007 Office System Driver: Data Connectivity Components” pack from here http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
9. Do an IIS RESET.
Command Prompt iisreset
10. VIOLA! It all WORKS!
Attachment contains
Updated Troubleshooting folder which now supports ACCESS 2007.
I suggest you to backup your existing folder and replace this one in your IronSpeed directory or keep it on hand if you ever have to deal with MS ACCESS! (Just use the test2.html and test2do.aspx files)
Script for setting the max connections and configuring IIS to support .net.
Link to '2007 Office System Driver: Data Connectivity Components'
Also this document.
This project and article was written based on version 6.1 of ISD.
I hope someone finds this article usefull and benefits from it, as this was a learning curve for me which got the better of me in the beginning.
Happy Coding
Tristan
T&J Auzsolutions