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