다음을 통해 공유


잠금이란?

잠금은 DBMS가 다중 사용자 환경의 행에 대한 액세스를 제한하는 프로세스입니다. 행 또는 열이 단독으로 잠겨 있으면 잠금이 해제될 때까지 다른 사용자가 잠긴 데이터에 액세스할 수 없습니다. 이렇게 하면 두 사용자가 동시에 동일한 열을 한 행에 업데이트할 수 없습니다.

잠금은 리소스 관점에서 매우 비용이 많이 들 수 있으며 데이터 무결성을 유지하는 데 필요한 경우에만 사용해야 합니다. 수백 또는 수천 명의 사용자가 인터넷에 연결된 데이터베이스와 같이 1초마다 레코드에 액세스하려고 할 수 있는 데이터베이스에서 불필요한 잠금으로 인해 애플리케이션의 성능이 빠르게 저하될 수 있습니다.

적절한 잠금 옵션을 선택하여 데이터 원본 및 ADO 커서 라이브러리가 동시성을 관리하는 방법을 제어할 수 있습니다.

레코드 집합을 열기 전에 LockType 속성을 설정하여 공급자가 레코드 집합을 열 때 사용해야 하는 잠금 유형을 지정합니다. 열려 있는 Recordset 개체에서 사용 중인 잠금 유형을 반환하려면 속성을 읽습니다.

공급자는 일부 잠금 유형을 지원하지 않을 수 있습니다. 공급자가 요청된 LockType 설정을 지원할 수 없는 경우 다른 유형의 잠금으로 대체합니다. Recordset 개체에서 사용할 수 있는 실제 잠금 기능을 확인하려면 Supports 메서드를 adUpdateadUpdateBatch와 함께 사용합니다.

CursorLocation 속성이 adUseClient로 설정된 경우 adLockPessimistic 설정은 지원되지 않습니다. 지원되지 않는 값이 설정되면 오류가 발생하지 않으며, 지원되는 가장 가까운 LockType이 대신 사용됩니다.

LockType 속성은 Recordset가 닫혀 있을 때 읽기/쓰기가 가능하고 열려 있을 때 읽기 전용입니다.

이 섹션에서는 다음 항목을 다룹니다.