Ms-access – Windows Server 2008, IIS7.5 and connection to MS Access 97 database

adoasp-classiciis-7.5ms-accesswindows-server-2008

I know, the topic sounds terrible. But I actually have to connect these technologies.

Problem

I am currently migrating company's intranet (written mostly in classic ASP) from Windows Server 2003 32 bit with IIS 6 to Windows Server 2008 R2 64 bit with IIS 7.5. Everything works perfectly fine except for one subpage which uses set conn = server.createobject("adodb.connection") to connect to connstring="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=path\to\mdb\which\is\really\there".

I open connection (conn.open connstring), build a query string and then, when I want to set rsresult = conn.execute(sqlusr) I get

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to 'TABLE_THAT_ACTUALLY_EXISTS' failed.

That error is thrown at the line with conn.execute(sqlusr). Of course, it worked fine in previous environment.

What have I tried?

  • connect to MS Access accdb file on Windows Server 2008 – I learned that Windows Server 2008 has MSJet preinstalled, so this question is of no use (reminder: mdb is for Access 97)
  • http://support.microsoft.com/kb/168336 – this is actually how the connection is made but I thought that sth may be wrong, misspelled, …
  • I copied ODBC data sources form previous server to the new one (I kept the names) – problem still exists
  • I installed the latest updates on Windows Server 2008 machine

Additional info

  • mdb will open only in Access 97 (why? don't ask me : / I wasn't the only one who tried to open it in Access 2000/2003/2007/2010 – it worked nowhere)
  • application pool for this web page on IIS 7.5 has Enable 32-bit Applications option set to true. Parent paths are also enabled.

I will be grateful for any additional tips on what to check/do/how to fix this issue.

Best Answer

OK this is an interesting question.

First - exists a documented problem using Classic ASP - IIS 7.x - ADODB.JET.4.0 you can see a guide to solve your problem

Using Classic ASP with Microsoft Access Databases on IIS

Second - i strongly recommend you to not use the JET DRIVER anymore, instead use the ADODB.ACE.12.0 driver, while you can get the same functionality that you can obtain with the JET driver, also you get the advantage that the new Access file formats can be read and the driver can be implemented in a pure 64-bits enviroment

ACEDB driver download (Microsoft)

with this driver you can set the Enable 32-bit Applications to false

Related Topic