다음을 통해 공유


설명자 핸들

설명자는 애플리케이션 또는 드라이버(구현이라고도 함)에서 볼 수 있듯이 SQL 문의 매개 변수 또는 결과 집합의 열을 설명하는 메타데이터 컬렉션입니다. 따라서 설명자는 다음 네 가지 역할 중 한 가지 역할을 채울 수 있습니다.

  • APD(애플리케이션 매개 변수 설명자). SQL 문의 매개 변수에 바인딩된 애플리케이션 버퍼에 대한 정보(예: 주소, 길이 및 C 데이터 형식)를 포함합니다.

  • IPD(구현 매개 변수 설명자). SQL 문에 있는 매개 변수에 대한 정보(예: SQL 데이터 형식, 길이 및 null 허용 여부)를 포함합니다.

  • ARD(애플리케이션 행 설명자). 결과 집합의 열에 바인딩된 애플리케이션 버퍼에 대한 정보(예: 주소, 길이 및 C 데이터 형식)를 포함합니다.

  • IRD(구현 행 설명자). 결과 집합의 열에 대한 정보(예: SQL 데이터 형식, 길이 및 null 허용 여부)를 포함합니다.

문이 할당될 때 4개의 설명자(각 역할을 채우는 설명자 1개)가 자동으로 할당됩니다. 이러한 설명자는 자동으로 할당된 설명자로 알려져 있으며 항상 해당 문과 연결됩니다. 애플리케이션은 SQLAllocHandle을 사용하여 설명자를 할당할 수도 있습니다. 이를 명시적으로 할당된 설명자로 알려져 있습니다. 연결에 할당되며 해당 문에서 APD 또는 ARD의 역할을 수행하기 위해 해당 연결에서 하나 이상의 문과 연결할 수 있습니다.

ODBC의 대부분의 작업은 애플리케이션에서 설명자를 명시적으로 사용하지 않고 수행할 수 있습니다. 그러나 설명자는 일부 작업에 편리한 바로 가기를 제공합니다. 예를 들어 애플리케이션이 서로 다른 두 버퍼 집합의 데이터를 삽입하려고 하는 경우를 가정해 보겠습니다. 첫 번째 버퍼 집합을 사용하려면 SQLBindParameter를 반복적으로 호출하여 INSERT 문의 매개 변수에 바인딩한 다음 문을 실행합니다. 두 번째 버퍼 집합을 사용하려면 이 프로세스를 반복합니다. 또는 한 설명자의 첫 번째 버퍼 집합과 다른 설명자의 두 번째 버퍼 집합에 대한 바인딩을 설정할 수 있습니다. 바인딩 집합 간에 전환하기 위해 애플리케이션은 단순히 SQLSetStmtAttr을 호출하고 올바른 설명자를 APD로 문과 연결합니다.

설명자에 대한 자세한 내용은 설명자 유형을 참조 하세요.