JetCreateInstance 함수
적용 대상: Windows | Windows Server
JetCreateInstance 함수
JetCreateInstance 함수는 단일 프로세스에서 사용할 데이터베이스 엔진의 새 instance 할당합니다.
Windows XP: JetCreateInstance 가 Windows XP에 도입되었습니다.
JET_ERR JET_API JetCreateInstance(
__out JET_INSTANCE* pinstance,
__in_opt const tchar* szInstanceName
);
매개 변수
핀스탄스
새로 만든 instance 수신하는 출력 버퍼입니다.
szInstanceName
만들 instance 대한 고유한 문자열 식별자입니다. 이 문자열은 데이터베이스 엔진을 호스트하는 지정된 프로세스 내에서 고유해야 합니다.
참고 NULL 값은 instance 유효한 문자열 식별자로 처리됩니다. instance 하나만 NULL 문자열 식별자를 가질 수 있습니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errInstanceNameInUse |
지정된 instance 이름이 이 프로세스에 이미 사용 중입니다. |
JET_errInvalidParameter |
제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. Pinstance가 NULL인 경우 JetCreateInstance에 대해 이 문제가 발생할 수 있습니다. |
JET_errRunningInOneInstanceMode |
데이터베이스 엔진이 단일 instance 모드(Windows 2000 호환 모드)에서 작동할 때 사용할 수 없으므로 작업이 실패했습니다. |
JET_errTooManyInstances |
최대 인스턴스 수에 도달했기 때문에 새 instance 만들 수 없습니다. 지원되는 최대 인스턴스 수는 JET_paramMaxInstances 사용하여 JetSetSystemParameter를 사용하여 구성됩니다. |
성공하면 새 instance 할당되고 해당 식별자가 반환됩니다. 이 시점에서 instance 대한 모든 시스템 매개 변수에는 전역 기본 시스템 매개 변수의 값이 있습니다. instance 할당되면 나중에 종료 및/또는 해제해야 합니다.
실패 시 오류의 원인을 나타내는 오류가 반환되고 instance 할당되지 않습니다.
설명
JetSetSystemParameter 이외의 다른 항목에서 사용하려면 JetInit를 호출하여 instance 초기화해야 합니다.
JetInit를 사용하여 instance 초기화되지 않았더라도 JetTerm 함수를 호출하여 instance 제거됩니다. 한 번에 만들 수 있는 최대 인스턴스 수는 jetSetSystemParameter를 호출하여 구성할 수 있는 JET_paramMaxInstances 의해 제어됩니다. instance 데이터베이스 엔진의 복구 기능 단위입니다. 데이터베이스 파일 집합에서 데이터의 무결성을 보호하는 데 사용되는 모든 파일의 수명 주기를 제어합니다. 이러한 파일에는 검사점 파일 및 트랜잭션 로그 파일이 포함됩니다.
함수가 성공하면 데이터베이스 엔진이 이 호출의 부작용으로 다중 instance 모드로 자동으로 변경됩니다. 애플리케이션이 프로세스에서 instance 하나만 허용하려는 경우 JetInit을 사용하여 Windows 2000 호환성 모드에서 데이터베이스 엔진을 시작해야 합니다.
있는 경우 szDisplayName은 이벤트 로그와 같은 장소 또는 백업 애플리케이션과 같은 다른 호출자(JetGetInstanceInfo 또는 JetOSSnapshotFreeze와 같은 함수를 통해)에 대한 instance 식별하는 데 사용됩니다. 표시 이름이 제공되지 않으면 고유한 szInstanceName 이 대신 사용되며, 그렇지 않으면 빈 문자열이 반환됩니다. 엔진에 실행 모드가 설정되어 있지 않으면 이 호출 후에 다중 instance 모드로 설정됩니다.
잠재적으로 여러 Jet 인스턴스를 실행하는 프로세스에 대한 일반적인 시작 시퀀스는 다음과 같습니다.
instance 할당하고 이름을 지정하는 JetCreateInstance2에 대한 호출입니다.
다른 시스템 매개 변수를 설정하기 위해 해당 instance 대해 JetSetSystemParameter를 여러 차례 호출합니다. 일부 시스템 매개 변수는 instance(예: JET_paramSystemPath 또는 JET_paramLogFilePath)당 고유해야 하므로 각 매개 변수를 설정해야 할 가능성이 큽니다.
JetInit 또는 JetInit2를 사용하여 instance 시작합니다. instance 종료 및/또는 해제하려면 JetTerm, JetTerm2를 사용해야 합니다.
첫 번째 instance 시작하는 경우 기본 시스템 초기화 및 구성을 위해 이 호출 중에 실행되는 여러 가지 추가 단계가 있습니다. 이러한 단계의 숫자는 JET_errOutOfMemory 시작하지만 다른 단계로 시작하는 특정 오류가 발생할 수 있습니다(위의 오류 참조).
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista 또는 Windows XP가 필요합니다. |
서버 |
Windows Server 2008 또는 Windows Server 2003이 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
유니코드 |
JetCreateInstanceW(유니코드) 및 JetCreateInstanceA(ANSI)로 구현됩니다. |
참고 항목
확장 가능한 스토리지 엔진 파일
JET_ERR
JET_INSTANCE
JetCreateInstance2
JetEnableMultiInstance
JetGetInstanceInfo
JetInit
JetInit2
JetOSSnapshotFreeze
JetSetSystemParameter
JetTerm
JetTerm2