Функция JetOpenDatabase

Применимо к: Windows | Windows Server

Функция JetOpenDatabase

Функция JetOpenDatabase открывает ранее присоединенную базу данных с помощью функций JetAttachDatabase или JetAttachDatabase2 для использования с сеансом базы данных. Эту функцию можно вызывать несколько раз для одной базы данных.

    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
    );

Параметры

sesid

Контекст сеанса базы данных, используемый для вызова API.

szFilename

Имя открываемой базы данных.

szConnect

Зарезервировано. задано значение NULL.

pdbid

Указатель на буфер, который при успешном вызове содержит идентификатор базы данных. Если вызов завершается ошибкой, значение не определено.

grbit

Группа битов, задающая ноль или более следующих параметров.

Значение

Значение

JET_bitDbExclusive

Разрешает присоединение базы данных только к одному сеансу. Обычно базу данных можно открыть в нескольких сеансах.

JET_bitDbReadOnly

Предотвращает изменения базы данных.

Возвращаемое значение

Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.

Код возврата

Описание

JET_errSuccess

Операция выполнена успешно.

JET_errDatabaseInUse

Был запрошен монопольный доступ, но не может быть предоставлен.

JET_errDatabaseInvalidPath

В szFilename указан недопустимый путь. Значение szFilename должно быть не равно NULL и ссылаться на допустимый файл.

JET_errDatabaseLocked

Другой сеанс уже открыл базу данных исключительно (с помощью JET_bitDbExclusive).

JET_errDatabaseNotFound

База данных ранее не была подключена (см. JetAttachDatabase).

JET_errInvalidDatabase

Предпринята попытка открыть файл, который не является допустимым файлом базы данных.

JET_errOneDatabasePerSession

Предпринята попытка открыть несколько баз данных, и JET_paramOneDatabasePerSession задано. Дополнительные сведения см. в разделе Системные параметры.

JET_wrnFileOpenReadOnly

Файл был присоединен только для чтения, но JetOpenDatabase не прошел JET_bitDbReadOnly. База данных по-прежнему открыта с доступом только для чтения.

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

Библиотека

Используйте ESENT.lib.

DLL

Требуется ESENT.dll.

Юникод

Реализовано как JetOpenDatabaseW (Юникод) и JetOpenDatabaseA (ANSI).

См. также:

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetAttachDatabase2
JetSetSystemParameter
Системные параметры