다음을 통해 공유


JetGotoSecondaryIndexBookmark 함수

적용 대상: Windows | Windows Server

JetGotoSecondaryIndexBookmark 함수

JetGotoSecondaryIndexBookmark 함수는 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목에 커서를 배치합니다. 보조 인덱스 책갈피는 원래 검색된 테이블과 동일한 인덱스와 함께 사용해야 합니다. 인덱스 항목에 대한 보조 인덱스 책갈피는 JetGotoSecondaryIndexBookmark를 사용하여 검색할 수 있습니다.

Windows XP:JetGotoSecondaryIndexBookmark 는 Windows XP에 도입되었습니다.

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

매개 변수

sesid

이 호출에 사용할 세션입니다.

tableid

이 호출에 사용할 커서입니다.

pvSecondaryKey

커서를 배치하는 데 사용할 보조 키가 들어 있는 버퍼입니다.

cbSecondaryKey

버퍼에 있는 보조 키의 크기입니다.

pvPrimaryBookmark

커서를 배치하는 데 사용할 기본 키 책갈피가 들어 있는 버퍼입니다.

cbPrimaryBookmark

버퍼의 기본 키 책갈피 크기입니다.

grbit

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

의미

JET_bitBookmarkPermitVirtualCurrency

인덱스 항목을 더 이상 찾을 수 없는 경우 커서는 해당 인덱스 항목이 이전에 발견된 위치에 배치됩니다. JET_errRecordDeleted 작업이 여전히 실패합니다. 그러나 현재 누락된 인덱스 항목을 기준으로 다음 또는 이전 인덱스 항목으로 이동할 수 있습니다.

반환 값

이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류오류 처리 매개 변수를 참조하세요.

반환 코드

설명

JET_errSuccess

작업이 성공적으로 완료되었습니다.

JET_errClientRequestToStopJetService

JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다.

JET_errInstanceUnavailable

세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 치명적인 오류가 발생했기 때문에 작업을 완료할 수 없습니다.

Windows XP: 이 반환 값은 Windows XP에 도입되었습니다.

JET_errInvalidBookmark

제공된 보조 인덱스 책갈피가 잘못되었습니다. 보조 키가 0이거나 보조 키 버퍼 포인터가 NULL이므로 이 오류가 발생했을 수 있습니다. 이 오류는

  • 현재 보조 인덱스에 고유성 제약 조건이 없으며 제공된 책갈피의 크기는 0입니다.

  • 책갈피 버퍼 포인터는 NULL입니다.

JET_errNoCurrentIndex

커서가 현재 보조 인덱스에 있지 않습니다. 커서가 현재 보조 인덱스를 사용하지 않는 경우 보조 인덱스 책갈피로 이동하는 것은 의미가 없습니다. 커서가 보조 인덱스에 없는 경우 JetGotoBookmark를 사용해야 합니다.

JET_errNotInitialized

세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다.

JET_errRecordDeleted

보조 인덱스 책갈피와 연결된 인덱스 항목을 찾을 수 없습니다.

JET_errRestoreInProgress

세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다.

JET_errSessionSharingViolation

동시에 둘 이상의 스레드에 동일한 세션을 사용할 수 없습니다.

Windows XP: 이 반환 값은 Windows XP에 도입되었습니다.

JET_errTermInProgress

세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다.

이 함수가 성공하면 커서가 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목에 배치됩니다. 업데이트할 레코드가 준비되면 해당 업데이트가 취소됩니다. 인덱스 범위가 적용되면 해당 인덱스 범위가 취소됩니다. 커서를 사용할 수 있도록 검색 키가 생성된 경우 해당 검색 키가 삭제됩니다. 데이터베이스 상태는 변경되지 않습니다.

이 함수가 실패하면 JET_errRecordDeleted 반환되고 JET_bitBookmarkPermitVirtualCurrency 지정되지 않는 한 커서의 위치는 변경되지 않습니다. 이 경우 커서는 지정된 보조 인덱스 책갈피와 연결된 인덱스 항목이 있는 위치에 배치됩니다. 커서는 해당 위치를 기준으로 이동할 수 있지만 유효한 인덱스 항목에는 없습니다.

업데이트할 레코드가 준비되면 해당 업데이트가 취소됩니다. 인덱스 범위가 적용되면 해당 인덱스 범위가 취소됩니다. 커서를 사용할 수 있도록 검색 키가 생성된 경우 해당 검색 키가 삭제됩니다. 어떤 경우에도 데이터베이스 상태는 변경되지 않습니다.

요구 사항

요구 사항

클라이언트

Windows Vista 또는 Windows XP가 필요합니다.

서버

Windows Server 2008 또는 Windows Server 2003이 필요합니다.

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

참고 항목

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService