Ok, this is sending me insane 
I've inherited an application on a web server that uses an Access 97 database - but the database is on another server (both servers in the same domain). This used to work OK when the server was NT4/IIS4/MTS but we've just migrated it to a Win2K server/IIS5 and it won't work :-(
I've created a DSN on the new web server which maps to the .mdb file and I'm fairly certain that permissions on the .mdb are OK. However, when the ASP atempts to open a conection to the database using the DSN the application fails with the error message...
"Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data."
Now here's the interesting bit - under NT4 we had to use MTS to enable the ASP to impersonate an account that had permissions to access the database. For more info see Microsoft Knowledge Base article - Q277329. I've tried the equivalent method for IIS5, but it does not work. The error message implies that the web server does not have the correct permission to read the database.
The alternative possibility is that the database is 'locked' - I've checked the DSN and it is not set up to be 'exclusive' use. However I'm not an Access expert at all. All my web applications use SQL Server. How can I find out if it's a permission problem or a 'locked' .mdb file?
If it's not a 'locked' access file, then what else could it be????
For more information, I've been through the following M$ Knowledgebase articles...
Access Database Connectivity Fails in Active Server Pages
Connect to a Remote Access Database from Active Server Pages
and
Cannot Access Network Resources in Application_OnEnd or Session_OnEnd Events
I've inherited an application on a web server that uses an Access 97 database - but the database is on another server (both servers in the same domain). This used to work OK when the server was NT4/IIS4/MTS but we've just migrated it to a Win2K server/IIS5 and it won't work :-(
I've created a DSN on the new web server which maps to the .mdb file and I'm fairly certain that permissions on the .mdb are OK. However, when the ASP atempts to open a conection to the database using the DSN the application fails with the error message...
"Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data."
Now here's the interesting bit - under NT4 we had to use MTS to enable the ASP to impersonate an account that had permissions to access the database. For more info see Microsoft Knowledge Base article - Q277329. I've tried the equivalent method for IIS5, but it does not work. The error message implies that the web server does not have the correct permission to read the database.
The alternative possibility is that the database is 'locked' - I've checked the DSN and it is not set up to be 'exclusive' use. However I'm not an Access expert at all. All my web applications use SQL Server. How can I find out if it's a permission problem or a 'locked' .mdb file?
If it's not a 'locked' access file, then what else could it be????
For more information, I've been through the following M$ Knowledgebase articles...
Access Database Connectivity Fails in Active Server Pages
Connect to a Remote Access Database from Active Server Pages
and
Cannot Access Network Resources in Application_OnEnd or Session_OnEnd Events