다음을 통해 공유


JetRollback 함수

적용 대상: Windows | Windows Server

JetRollback 함수

JetRollback 함수는 데이터베이스 상태에 대한 변경 내용을 실행 취소하고 마지막 저장 지점으로 돌아갑니다. 또한 JetRollback 은 저장 지점 중에 열린 커서를 닫습니다. 가장 바깥쪽 저장 지점이 실행 취소되면 세션이 트랜잭션을 종료합니다.

    JET_ERR JET_API JetRollback(
      __in          JET_SESID sesid,
      __in          JET_GRBIT grbit
    );

매개 변수

sesid

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

grbit

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

의미

JET_bitRollbackAll

이 옵션은 모든 저장 지점 동안 데이터베이스 상태에 대한 모든 변경 내용을 실행 취소하도록 요청합니다. 결과적으로 세션은 트랜잭션을 종료합니다.

반환 값

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

반환 코드

설명

JET_errSuccess

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

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errNotInitialized

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

JET_errNotInTransaction

지정된 세션이 트랜잭션에 없기 때문에 작업이 실패했습니다.

JET_errRestoreInProgress

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

JET_errRollbackError

심각한 오류로 인해 변경 내용을 롤백할 수 없었습니다.

JET_errSessionSharingViolation

동시에 둘 이상의 스레드에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errTermInProgress

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

성공하면 지정된 세션의 현재 저장 지점 동안 데이터베이스에 대한 변경 내용이 실행 취소되고 해당 저장 지점이 종료됩니다. 세션의 마지막 저장 지점이 종료된 경우 세션은 트랜잭션을 종료합니다.

실패 시 세션의 트랜잭션 상태는 변경되지 않은 상태로 유지됩니다. 데이터베이스 상태는 변경되지 않습니다. 롤백 중 오류는 치명적인 데이터베이스 오류로 간주됩니다.

설명

지정된 세션에 대한 JetBeginTransaction에 대한 모든 호출과 일치하려면 JetCommitTransaction 또는 JetRollback을 한 번 호출해야 합니다.

롤백되는 저장 지점 중에 커서를 연 경우(예: JetOpenTable 사용) 커서가 닫힙니다.

요구 사항

요구 사항

클라이언트

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

서버

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

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

참고 항목

JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction
JetCommitTransaction