메타 데이터는 어떻게 사용됩니까?

애플리케이션에는 대부분의 결과 집합 작업에 대한 메타데이터가 필요합니다. 예를 들어 애플리케이션은 열의 데이터 형식을 사용하여 해당 열에 바인딩할 변수 종류를 결정합니다. 문자 열의 바이트 길이를 사용하여 해당 열의 데이터를 표시하는 데 필요한 공간을 결정합니다. 애플리케이션에서 열의 메타데이터를 결정하는 방법은 애플리케이션의 유형에 따라 달라집니다.

수직 애플리케이션은 미리 정의된 테이블에서 작동하고 해당 테이블에 대해 미리 정의된 작업을 수행합니다. 이러한 애플리케이션에 대한 결과 집합 메타데이터는 애플리케이션을 작성하기 전에 정의되고 애플리케이션 개발자가 제어하기 때문에 애플리케이션에 하드 코딩될 수 있습니다. 예를 들어 주문 ID 열이 데이터 원본에서 4 바이트 정수로 정의된 경우 애플리케이션은 항상 해당 열에 4 바이트 정수 바인딩할 수 있습니다. 애플리케이션에서 메타데이터가 하드 코딩되는 경우 애플리케이션에서 사용하는 테이블의 변경은 일반적으로 애플리케이션 코드의 변경을 의미합니다. 이러한 변경 내용은 일반적으로 애플리케이션의 새 릴리스의 일부로 수행되기 때문에 이는 거의 문제가되지 않습니다.

수직 애플리케이션과 마찬가지로 사용자 지정 애플리케이션은 일반적으로 미리 정의된 테이블과 함께 작동하며 해당 테이블에 대해 미리 정의된 작업을 수행합니다. 예를 들어 세 가지 데이터 원본 간에 데이터를 전송하기 위해 애플리케이션을 작성할 수 있습니다. 전송할 데이터는 일반적으로 애플리케이션이 기록될 때 알려져 있습니다. 따라서 사용자 지정 애플리케이션에도 하드 코딩된 메타데이터가 있는 경향이 있습니다.

제네릭 애플리케이션, 특히 임시 쿼리를 지원하는 애플리케이션은 만든 결과 집합의 메타데이터를 거의 알지 못합니다. 따라서 다음 섹션인 SQLDescribeCol 및 SQLColAttribute에 설명된 SQLNumResultCols, SQLDescribeColSQLColAttribute 함수를 사용하여 런타임에 메타데이터를 검색해야 합니다.

형식에 관계없이 모든 애플리케이션은 카탈로그 함수에서 반환된 결과 집합에 대한 메타데이터를 하드 코드할 수 있습니다. 이러한 결과 집합은 이 설명서의 참조 섹션에 정의되어 있습니다.