Article ID: 195475 - View products that this article applies to.
This article was previously published under Q195475
This article has been archived. It is offered "as is" and will no longer be updated.
Opening the connection on a read-only Microsoft Access Database (.mdb file on a CD-ROM, a floppy disk that is write protected, or a hard disk that is read-only to the user, and so forth) with the following code causes an error to occur. The following code opens a connection on a Microsoft Access database file on a CD-ROM:
It causes the following error:
The Microsoft Jet database engine cannot open the file E:\testdb.mdb. It is already opened exclusively by another user, or you need permission to view its data.
The Jet OLEDB provider opens databases, by default, in Read/Write mode. Jet requires the creation of a locking file (.ldb file) in order to open a database file in shared access mode. If you request shared access mode, Jet attempts to create the locking file, which fails on read-only media. If you open a database using exclusive mode, Jet does not need to create the locking file.
Open the database in read-only and exclusive mode. You can do this by setting the Mode property of the connection object to adShareDenyWrite.
The following code opens a connection on a read-only Microsoft Access database:
The following Microsoft Knowledge Base article describes the same problem and a resolution when using Data Access Object (DAO):
191737Microsoft Developer Network Library, Visual Studio 6.0; search on:
(https://support.microsoft.com/kb/191737/EN-US/ )PRB: DAO MDB on Read-Only Media Must Be Opened Exclusively
Microsoft Data Access SDK
Article ID: 195475 - Last Review: January 10, 2015 - Revision: 2.0