다음을 통해 공유


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

다음 옵션 중 0개 이상을 지정하는 비트 그룹입니다.

의미

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 Professional이 필요합니다.

서버

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
시스템 매개 변수