잠금이란?
잠금은 DBMS가 다중 사용자 환경의 행에 대한 액세스를 제한하는 프로세스입니다. 행 또는 열이 단독으로 잠겨 있으면 잠금이 해제될 때까지 다른 사용자가 잠긴 데이터에 액세스할 수 없습니다. 이렇게 하면 두 사용자가 동시에 동일한 열을 한 행에 업데이트할 수 없습니다.
잠금은 리소스 관점에서 매우 비용이 많이 들 수 있으며 데이터 무결성을 유지하는 데 필요한 경우에만 사용해야 합니다. 수백 또는 수천 명의 사용자가 인터넷에 연결된 데이터베이스와 같이 1초마다 레코드에 액세스하려고 할 수 있는 데이터베이스에서 불필요한 잠금으로 인해 애플리케이션의 성능이 빠르게 저하될 수 있습니다.
적절한 잠금 옵션을 선택하여 데이터 원본 및 ADO 커서 라이브러리가 동시성을 관리하는 방법을 제어할 수 있습니다.
레코드 집합을 열기 전에 LockType 속성을 설정하여 공급자가 레코드 집합을 열 때 사용해야 하는 잠금 유형을 지정합니다. 열려 있는 Recordset 개체에서 사용 중인 잠금 유형을 반환하려면 속성을 읽습니다.
공급자는 일부 잠금 유형을 지원하지 않을 수 있습니다. 공급자가 요청된 LockType 설정을 지원할 수 없는 경우 다른 유형의 잠금으로 대체합니다. Recordset 개체에서 사용할 수 있는 실제 잠금 기능을 확인하려면 Supports 메서드를 adUpdate 및 adUpdateBatch와 함께 사용합니다.
CursorLocation 속성이 adUseClient로 설정된 경우 adLockPessimistic 설정은 지원되지 않습니다. 지원되지 않는 값이 설정되면 오류가 발생하지 않으며, 지원되는 가장 가까운 LockType이 대신 사용됩니다.
LockType 속성은 Recordset가 닫혀 있을 때 읽기/쓰기가 가능하고 열려 있을 때 읽기 전용입니다.
이 섹션에서는 다음 항목을 다룹니다.