I have an old ASP Classic site which connects to a SQL Server database which uses a Linked Server to access a Microsoft Access database via OPENQUERY in a view (!), like this:
A Linked Server is configured to connect to the Access database using
Microsoft.ACE.OLEDB.12.0A view
view_requestsretrieves the data from a table in the Access database:SELECT * FROM OPENQUERY(MY_LINKED_SERVER, 'SELECT * from Requests') AS Rowset_1The ASP Classic page retrieves the data:
Set getRequests = dbConnect.Execute("SELECT * FROM view_requests")
Since moving it from a Server 2003 to a Server 2012 machine it no longer works.
The error given on the ASP page is:
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "MY_LINKED_SERVER" returned message "Cannot start your application. The workgroup information file is missing or opened exclusively by another user.
But I have a feeling this is misleading for several reasons. The error seems to occur in lots of different scenarios and none of the posts I've found represent mine exactly. The main thing to note is that the view works fine and I can therefore access the data via SQL Server, which to me suggest it's not an issue with user mappings and so on, but I may be wrong. The problem occurs when connecting via the ASP Classic page. We've tried using both .mdb and .accdb formats.
Any suggestions on what I can try would be much appreciated. Thanks!