매개 변수 설명

SQLBindParameter 에는 매개 변수를 설명하는 인수(SQL 형식, 전체 자릿수 및 소수 자릿수)가 있습니다. 드라이버는 이 정보 또는 메타데이터 를 사용하여 매개 변수 값을 데이터 원본에 필요한 형식으로 변환합니다. 언뜻 보기에 드라이버가 애플리케이션보다 매개 변수 메타데이터를 더 잘 알고 있는 것처럼 보일 수 있습니다. 결국 드라이버는 결과 집합 열에 대한 메타데이터를 쉽게 검색할 수 있습니다. 알고 보니, 이것은 사실이 아닙니다. 첫째, 대부분의 데이터 원본은 드라이버가 매개 변수 메타데이터를 검색하는 방법을 제공하지 않습니다. 둘째, 대부분의 애플리케이션은 이미 메타데이터를 알고 있습니다.

애플리케이션에서 SQL 문이 하드 코딩된 경우 애플리케이션 작성기는 각 매개 변수의 형식을 이미 알고 있습니다. 런타임에 애플리케이션에서 SQL 문을 생성하면 애플리케이션이 문을 빌드할 때 메타데이터를 확인할 수 있습니다. 예를 들어 애플리케이션이 절을 생성할 때

WHERE OrderID = ?  

OrderID 열에 대해 SQLColumns를 호출할 수 있습니다.

애플리케이션에서 매개 변수 메타데이터를 쉽게 확인할 수 없는 유일한 상황은 사용자가 매개 변수가 있는 문을 입력하는 경우입니다. 이 경우 애플리케이션은 SQLPrepare를 호출하여 문을 준비하고, SQLNumParams를 호출하여 매개 변수 수를 확인하고, SQLDescribeParam을 호출하여 각 매개 변수를 설명합니다. 그러나 앞에서 설명한 것처럼 대부분의 데이터 원본은 드라이버가 매개 변수 메타데이터를 검색할 수 있는 방법을 제공하지 않으므로 SQLDescribeParam 은 널리 지원되지 않습니다.