카탈로그 함수에서 반환된 데이터

각 카탈로그 함수는 데이터를 결과 집합으로 반환합니다. 이 결과 집합은 다른 결과 집합과 다르지 않습니다. 일반적으로 드라이버에 하드 코딩되거나 데이터 원본의 프로시저에 저장되는 미리 정의된 매개 변수가 있는 SELECT 문에 의해 생성됩니다. 결과 집합에서 데이터를 검색하는 방법에 대한 자세한 내용은 결과 집합이 만들어졌나요?를 참조하세요.

각 카탈로그 함수에 대한 결과 집합은 해당 함수에 대한 참조 항목에 설명되어 있습니다. 나열된 열 외에도 결과 집합에는 마지막으로 미리 정의된 열 뒤의 드라이버별 열이 포함될 수 있습니다. 이러한 열(있는 경우)은 드라이버 설명서에 설명되어 있습니다.

애플리케이션은 결과 집합의 끝을 기준으로 드라이버별 열을 바인딩해야 합니다. 즉, 드라이버별 열 수를 SQLNumResultCols를 사용하여 검색된 마지막 열의 수로 계산해야 하며, 필요한 열 이후에 발생하는 열 수는 줄어듭니다. 이렇게 하면 이후 버전의 ODBC 또는 드라이버에서 새 열이 결과 집합에 추가될 때 애플리케이션을 변경할 필요가 없습니다. 이 체계가 작동하려면 드라이버가 이전 드라이버별 열 앞에 새 드라이버별 열을 추가해야 열 번호가 결과 집합의 끝을 기준으로 변경되지 않습니다.

결과 집합에 반환되는 식별자는 특수 문자가 포함된 경우에도 따옴표가 붙지 않습니다. 예를 들어 식별자 따옴표 문자(드라이버별이고 SQLGetInfo를 통해 반환됨)가 큰따옴표(")이고 Accounts Payable 테이블에 Customer Name이라는 열이 포함되어 있다고 가정합니다. 이 열에 대해 SQLColumns에서 반환하는 행에서 TABLE_NAME 열의 값은 "지불 가능한 계정"이 아니라 Accounts Payable이며, COLUMN_NAME 열의 값은 "고객 이름"이 아닌 고객 이름입니다. 계정 지불 테이블에서 고객의 이름을 검색하기 위해 애플리케이션은 다음 이름을 인용합니다.

SELECT "Customer Name" FROM "Accounts Payable"  

자세한 내용은 따옴표 붙은 식별자를 참조 하세요.

카탈로그 함수는 사용자 이름 및 암호를 기반으로 연결이 이루어지고 사용자에게 권한이 있는 데이터만 반환되는 SQL과 유사한 권한 부여 모델을 기반으로 합니다. 이 모델에 맞지 않는 개별 파일의 암호 보호는 드라이버 정의입니다.

카탈로그 함수에서 반환된 결과 집합은 거의 업데이트할 수 없으며 애플리케이션은 이러한 결과 집합의 데이터를 변경하여 데이터베이스의 구조를 변경할 수 있을 것으로 예상해서는 안 됩니다.