The JetOpenDatabase function opens a previously attached database, using the JetAttachDatabase or JetAttachDatabase2 functions, for use with a database session. This function can be called multiple times for the same database.
JET_ERR JET_API JetOpenDatabase( __in JET_SESID sesid, __in const tchar* szFilename, __in_opt const tchar* szConnect, __out JET_DBID* pdbid, __in JET_GRBIT grbit );
The database session context to use for the API call.
The name of the database to open.
Pointer to a buffer that, on a successful call, contains the identifier of the database. If the call fails, the value is undefined.
Reserved. Set to NULL.
A group of bits that specify zero or more of the following options.
Allows only a single session to attach a database. Normally, several sessions can open a database.
Prevents modifications to the database.
This function returns the JET_ERR datatype with one of the following return codes. For more information about the possible ESE errors, see Extensible Storage Engine Errors and Error Handling Parameters.
The operation completed successfully.
Exclusive access was requested, but could not be granted.
An invalid path was given in szFilename. szFilename must be non-NULL and refer to a valid file.
Another session has already opened the database exclusively (using JET_bitDbExclusive).
The database was not previously attached (See JetAttachDatabase).
An attempt was made to open a file that is not a valid database file.
The file was attached as read-only, but JetOpenDatabase did not pass JET_bitDbReadOnly. The database is still opened with read-only access.
Requires Windows Vista, Windows XP, or Windows 2000 Professional.
Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
Declared in Esent.h.
Implemented as JetOpenDatabaseW (Unicode) and JetOpenDatabaseA (ANSI).