JetAttachDatabase2 함수
적용 대상: Windows | Windows Server
JetAttachDatabase2 함수
JetAttachDatabase2 함수는 데이터베이스 instance 사용할 데이터베이스 파일을 연결하고 해당 데이터베이스의 최대 크기를 지정합니다. 데이터베이스를 사용하려면 나중에 JetOpenDatabase를 사용하여 열어야 합니다.
JET_ERR JET_API JetAttachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit
);
매개 변수
sesid
API 호출에 사용할 데이터베이스 세션 컨텍스트입니다.
szFilename
연결할 데이터베이스의 이름입니다.
cpgDatabaseSizeMax
데이터베이스의 최대 크기(데이터베이스 페이지)입니다. 기본 데이터베이스 페이지 크기는 4KB이며 데이터베이스를 만들기 전에 JetSetSystemParameter 함수를 사용하여 변경할 수 있습니다.
0을 전달하면 데이터베이스 엔진에서 적용되는 최대값이 없음을 의미합니다.
grbit
다음 중 0개 이상을 포함하는 이 호출에 사용할 옵션이 포함된 비트 그룹입니다.
값 |
의미 |
---|---|
JET_bitDbDeleteCorruptIndexes |
JET_paramEnableIndexChecking 설정된 경우 유니코드 데이터에 대한 모든 인덱스가 삭제됩니다. 자세한 내용은 설명 섹션을 참조하세요. |
JET_bitDbDeleteUnicodeIndexes |
유니코드 데이터에 대한 모든 인덱스는 JET_paramEnableIndexChecking 설정에 관계없이 삭제됩니다. 자세한 내용은 설명 섹션을 참조하세요. |
JET_bitDbReadOnly |
데이터베이스 수정을 방지합니다. |
JET_bitDbUpgrade |
다음에 사용하도록 예약됩니다. |
반환 값
함수는 JET_ERR 오류 코드 중 하나를 반환합니다. 가장 일반적으로 반환되는 항목은 다음과 같습니다. (이 API에 대한 전체 오류 목록은 확장 가능한 스토리지 엔진 오류 코드를 참조하세요.)
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errBackupInProgress |
백업 중에는 데이터베이스를 연결할 수 없습니다. |
JET_errDatabaseFileReadOnly |
szFilename으로 지정된 데이터베이스 파일을 쓸 수 있어야 합니다. Read-Only 특성을 설정해서는 안 되며 실행 중인 프로세스에는 파일에 쓸 수 있는 충분한 권한이 있어야 합니다. |
JET_errDatabaseInUse |
데이터베이스 파일이 이미 다른 프로세스에 의해 열려 있습니다. |
JET_errDatabaseInvalidPath |
szFilename에 잘못된 경로가 지정되었습니다. szFilename 은 NULL이 아니어야 하며 유효한 경로를 참조해야 합니다. |
JET_errDatabaseSharingViolation |
데이터베이스 파일이 이미 다른 세션에 의해 연결되었습니다. |
JET_errFileNotFound |
szFilename에 지정된 파일이 없습니다. |
JET_errPrimaryIndexCorrupted |
기본 인덱스 오류가 있습니다. 이는 물리적 손상(예: 디스크 또는 메모리 손상)에서 발생할 수 있습니다. 또한 이전 운영 체제에서 마지막으로 수정된 데이터베이스를 연결할 때 반환될 수 있으며 기본 인덱스는 유니코드 데이터가 있는 열 위에 있습니다. 유니코드 데이터에 대한 인덱스에 대한 자세한 내용은 설명을 참조하세요. |
JET_errSecondaryIndexCorrupted |
보조 인덱스가 있는 오류가 있습니다. 이는 물리적 손상(예: 디스크 또는 메모리 손상)에서 발생할 수 있습니다. 이전 운영 체제에서 마지막으로 수정된 데이터베이스를 연결하고 보조 인덱스가 유니코드 데이터가 있는 열 위에 있는 경우에도 반환될 수 있습니다. 유니코드 데이터에 대한 인덱스에 대한 자세한 내용은 설명을 참조하세요. 보조 인덱스는 다음 명령을 사용하여 오프라인 유틸리티로 데이터베이스를 조각 모음할 때 완전히 다시 작성됩니다. esentutl -d. |
JET_errTooManyAttachedDatabases |
instance당 한정된 수의 데이터베이스만 연결할 수 있습니다. 이 제한은 현재 instance당 7개의 데이터베이스입니다. |
JET_wrnDatabaseAttached |
데이터베이스 파일이 이 세션에서 이미 연결되어 있음을 나타내는 심각하지 않은 경고입니다. |
설명
데이터베이스 파일은 JetDetachDatabase 또는 JetDetachDatabase2를 사용하여 분리됩니다.
설명 은 JetAttachDatabase 를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
유니코드 |
JetAttachDatabase2W(유니코드) 및 JetAttachDatabase2A(ANSI)로 구현됩니다. |
참고 항목
확장 가능한 스토리지 엔진 파일
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter