JetDupCursor 함수
적용 대상: Windows | Windows Server
JetDupCursor 함수
JetDupCursor 함수는 열려 있는 커서를 복제하고 중복된 커서에 대한 핸들을 반환합니다. 중복된 커서가 읽기 전용 커서인 경우 중복된 커서도 읽기 전용 커서입니다. 검색 키 생성 또는 레코드 업데이트와 관련된 상태는 중복된 커서에 복사되지 않습니다. 또한 원래 커서의 위치는 중복된 커서에 중복되지 않습니다. 중복된 커서는 항상 클러스터형 인덱스에서 열리고 해당 위치는 항상 테이블의 첫 번째 행에 있습니다.
JET_ERR JET_API JetDupCursor(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_TABLEID* ptableid,
__in JET_GRBIT grbit
);
매개 변수
sesid
이 호출에 사용할 세션입니다.
tableid
이 호출에 사용할 커서입니다.
ptableid
tableid에 대한 포인터입니다.
grbit
다음에 사용하도록 예약됩니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errClientRequestToStopJetService |
JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다. |
JET_errInstanceUnavailable |
세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errNotInitialized |
세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다. |
JET_errOutOfCursors |
사용 가능한 커서 리소스가 없습니다. |
JET_errRestoreInProgress |
세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다. |
JET_errSessionSharingViolation |
두 개 이상의 스레드에 대해 동시에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다. |
JET_errTermInProgress |
세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다. |
성공하면 ptableid 가 중복된 커서로 설정됩니다.
실패 시 변경 내용이 없습니다. tableid의 상태는 변경되지 않습니다.
설명
중복된 커서에 복사된 전체 커서 상태가 없습니다. 현재 인덱스를 포함하여 중복된 커서의 위치는 일반적으로 지정된 커서와 다릅니다. 중복된 커서는 항상 클러스터형 인덱스와 테이블의 첫 번째 행에 반환됩니다. 테이블이 비어 있으면 중복된 커서가 행에 없습니다.
JetDupCursor로 열린 테이블은 일반적으로 JetCloseTable을 사용하여 닫아야 합니다. 이 규칙의 예외는 트랜잭션에서 JetDupCursor 가 호출되고 트랜잭션이 롤백될 때 발생합니다( JetRollback 사용). 트랜잭션을 롤백하면 커서가 자동으로 닫힙니다. 이 경우 JetCloseTable을 사용하여 테이블을 닫는 것은 오류입니다.
동시에 열 수 있는 테이블 수는 JET_paramMaxOpenTables 직접 영향을 받습니다. 자세한 내용은 시스템 매개 변수 를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
참고 항목
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetRollback
JetStopService
시스템 매개 변수