부록 F: ODBC 커서 라이브러리

Important

이 기능은 이후 버전의 Windows에서 제거됩니다. 새 개발 작업에서 이 기능을 사용하지 말고 현재 이 기능을 사용하는 애플리케이션을 수정할 계획입니다. 드라이버의 커서 기능을 사용하는 것이 좋습니다.

ODBC 커서 라이브러리(Odbccr32.dll)는 레벨 1 API 적합성 수준을 준수하는 모든 드라이버에 대해 블록 스크롤 가능한 커서를 지원하며, 개발자가 애플리케이션이나 드라이버와 함께 재배포할 수 있습니다. 커서 라이브러리는 SELECT 문에서 생성된 결과 집합에 대한 위치 변경 및 삭제 문도 지원합니다. 정적 커서와 전방 전용 커서만 지원하지만, 커서 라이브러리는 많은 애플리케이션의 요구를 충족시킵니다. 또한, 특히 소규모에서 중간 크기의 결과 세트나 커서 지원이 부족한 애플리케이션에서 우수한 성능을 제공할 수 있습니다.

커서 라이브러리는 드라이버 매니저와 드라이버 사이에 위치한 동적 링크 라이브러리(DLL)입니다. 애플리케이션이 함수를 호출하면, 드라이버 매니저는 커서 라이브러리의 함수를 호출하며, 이 라이브러리는 해당 함수를 실행하거나 지정된 드라이버에서 호출합니다. 특정 연결에 대해 애플리케이션은 커서 라이브러리가 항상 사용되는지, 드라이버가 스크롤 가능한 커서를 지원하지 않을 때 사용되는지, 또는 절대 사용하지 않는지 지정합니다.

커서 라이브러리는 드라이버 관리자의 드라이버로 나타납니다. 커서 라이브러리가 드라이버 관리자와 ODBC 2.x 드라이버 사이에 위치한다면, 커서 라이브러리는 ODBC 2.x 드라이버로 나타납니다. 커서 라이브러리가 드라이버 관리자와 ODBC 3.x 드라이버 사이에 위치한다면, 커서 라이브러리는 ODBC 3.x 드라이버로 나타납니다. 커서 라이브러리가 보여주는 동작은 작동하는 드라이버 버전에 따라 다르며, 바인딩 오프셋은 ODBC 2.x 와 ODBC 3.x 드라이버 모두에서 지원됩니다.

SQLFetchSQLFetchScroll에서 블록 커서를 구현하기 위해, 커서 라이브러리는 드라이버에서 SQLFetch를 반복적으로 호출합니다. 스크롤을 구현하기 위해 가져온 데이터를 메모리와 디스크 파일에 캐시합니다. 애플리케이션이 새로운 행셋을 요청하면, 커서 라이브러리는 필요에 따라 드라이버나 캐시에서 이를 가져옵니다.

위치 지정된 업데이트 및 삭제 문장을 구현하기 위해, 커서 라이브러리는 행 내 각 바인딩 열의 캐시 값을 지정하는 WHERE 절을 가진 또는 DELETE 문장을 구성합니다UPDATE. 위치된 업데이트 문이 실행될 때, 커서 라이브러리는 행셋 버퍼의 값들로부터 캐시를 업데이트합니다.

ODBC 커서 라이브러리에 대한 자세한 내용은 이 부록의 다음 섹션을 참조하세요: