JetAttachDatabase2 함수

적용 대상: Windows | Windows Server

JetAttachDatabase2 함수

JetAttachDatabase2 함수는 데이터베이스 인스턴스에 사용할 데이터베이스 파일을 연결하고 해당 데이터베이스의 최대 크기를 지정합니다. 데이터베이스를 사용하려면 나중에 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

데이터베이스 페이지의 최대 크기입니다. 기본 데이터베이스 페이지 크기는 4킬로바이트이며, 데이터베이스를 만들기 전에 JetSetSystemParameter 함수를 사용하여 변경할 수 있습니다.

0을 전달하면 데이터베이스 엔진에 의해 최대값이 적용되지 않습니다.

grbit

다음 중 0개 이상을 포함하는 이 호출에 사용할 옵션이 포함된 비트 그룹입니다.

의미

JET_bitDbDeleteCorruptIndexes

JET_paramEnableIndexChecking 설정된 경우 유니코드 데이터에 대한 모든 인덱스가 삭제됩니다. 자세한 내용은 설명 섹션을 참조하세요.

JET_bitDbDeleteUnicodeIndexes

유니코드 데이터에 대한 모든 인덱스는 JET_paramEnableIndexChecking 설정에 관계없이 삭제됩니다. 자세한 내용은 설명 섹션을 참조하세요.

JET_bitDbReadOnly

데이터베이스 수정을 방지합니다.

JET_bitDbUpgrade

다음에 사용하도록 예약됩니다.

Return Value

이 함수는 JET_ERR 오류 코드 중 하나를 반환합니다. 다음은 가장 일반적으로 반환되는 항목입니다. (이 API에 대한 전체 오류 목록은 Extensible Storage 엔진 오류 코드를 참조하세요.)

반환 코드

설명

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

인스턴스당 한정된 수의 데이터베이스만 연결할 수 있습니다. 이 제한은 현재 인스턴스당 7개의 데이터베이스입니다.

JET_wrnDatabaseAttached

데이터베이스 파일이 이 세션에서 이미 연결되어 있음을 나타내는 심각하지 않은 경고입니다.

설명

데이터베이스 파일은 JetDetachDatabase 또는 JetDetachDatabase2를 사용하여 분리됩니다.

자세한 내용은 JetAttachDatabase 를 참조하세요.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional 필요합니다.

Server

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

Header

Esent.h에서 선언되었습니다.

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetAttachDatabase2W(유니코드) 및 JetAttachDatabase2A(ANSI)로 구현됩니다.

관련 항목

확장 가능한 Storage 엔진 파일
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter