결과 집합의 특성 확인(ODBC)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

메타데이터는 다른 데이터를 설명하는 데이터입니다. 예를 들어 결과 집합 메타데이터는 결과 집합의 열 수, 해당 열의 데이터 형식, 이름, 정밀도 및 Null 허용 여부와 같은 결과 집합의 특성을 설명합니다.

ODBC는 카탈로그 API 함수를 통해 애플리케이션에 메타데이터를 제공합니다. SQL Server Native Client ODBC 드라이버는 많은 ODBC API 카탈로그 함수를 해당 SQL Server 카탈로그 프로시저에 대한 호출로 구현합니다.

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

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

일반 애플리케이션, 특히 임시 쿼리를 지원하는 애플리케이션에서 만든 결과 집합의 메타데이터는 일반적으로 런타임까지 알 수 없습니다.

결과 집합의 특성을 확인하기 위해 애플리케이션에서 다음을 호출할 수 있습니다.

잘 디자인된 애플리케이션은 결과 집합을 알 수 없고 결과 집합이 이러한 함수에서 반환하는 정보를 사용하여 해당 결과 집합의 열을 바인딩한다는 가정 하에 작성됩니다. 애플리케이션은 문이 준비되거나 실행된 후 언제든지 이러한 함수를 호출할 수 있습니다. 그러나 최적의 성능을 위해 애플리케이션은 문이 실행된 후 SQLColAttribute, SQLDescribeColSQLNumResultCols를 호출해야 합니다.

메타데이터에 대해 여러 개의 동시 호출을 가질 수 있습니다. ODBC 카탈로그 API 구현의 기반이 되는 시스템 카탈로그 프로시저는 정적 서버 커서를 사용하는 동안 ODBC 드라이버에서 호출할 수 있습니다. 이렇게 하면 애플리케이션에서 ODBC 카탈로그 함수에 대한 여러 호출을 동시에 처리할 수 있습니다.

애플리케이션에서 특정 메타데이터 집합을 두 번 이상 사용하는 경우 처음 가져올 때 프라이빗 변수에 정보를 캐싱하는 것이 도움이 될 수 있습니다. 이는 나중에 드라이버를 강제로 서버에 왕복하게 하는 ODBC 카탈로그 함수가 동일한 정보에 대해 호출되지 않도록 합니다.

참고 항목

결과 처리(ODBC)