문제

오류가 있으면 일부 데이터베이스 변경 사항을 롤백하도록 요청 받았습니다.

Commit 또는 Rollback과 함께 거래를 사용하기 시작하기 전에 MS Access에서 다음을 수행 할 수 있는지 말해 줄 수 있습니까?

void Start() {
  try {
    AccessDatabaseOpen(); // Opens the access database
    foreach (File in FileList) {
      AccessTransactionStart(); // Starts the Transaction
      AccessWriteSectionDataFromFile();
      AccessWriteEmployeeDataFromFile();
      AccessWriteSomethingElseFromFile();
    } // go to next File in FileList
    AccessTransactionCommit();
  } catch {
    AccessTransactionRollback();
  } finally {
    AccessDatabaseClose();
  }
}

구문은 엉망이되지만 코드의 루틴이 트랜잭션을 시작하고 다른 여러 루틴을 호출하며 모든 것을 커밋하거나 롤백 할 수 있습니까? 아니면이 아이디어가 믿게됩니까?

고마워요, 조

도움이 되었습니까?

해결책

코드의 루틴이 트랜잭션을 시작하고 다른 여러 루틴을 호출하고 모든 것을 커밋하거나 롤백 할 수 있습니까?

그렇습니다. 이것은 거래 처리의 기본 아이디어이며, 요약 된 예는 코드에서이를 처리하는 표준 접근법입니다. 세부 사항은 특정 상황/요구 및 사용 된 데이터베이스 시스템 (예 : 중첩 트랜잭션, 범위, 동시성 처리 등)에 따라 다릅니다.

데이터베이스 추상화 계층이 관련된 경우, 종종 일부 설정/매개 변수로 구성 할 수있는 암시 적 트랜잭션 처리가 포함되어 있으므로 해당 세부 사항을 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top