OpenSchema 메서드
공급자로부터 데이터베이스 스키마 정보를 가져옵니다.
통사론
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)
반환 값
스키마 정보를 포함하는 Recordset 개체를 반환합니다. 레코드 집합 읽기 전용 정적 커서로 열립니다. QueryTypeRecordset표시되는 열을 결정합니다.
매개 변수
QueryType
실행할 스키마 쿼리의 형식을 나타내는 모든 SchemaEnum 값입니다.
조건
선택적.
SchemaEnum나열된 각 QueryType 옵션에 대한 쿼리 제약 조건 배열입니다.
SchemaID
OLE DB 사양에 의해 정의되지 않은 공급자 스키마 쿼리의 GUID입니다. 이 매개 변수는 QueryType adSchemaProviderSpecific 설정된 경우 필요합니다. 그렇지 않으면 사용되지 않습니다.
발언
OpenSchema 메서드는 데이터 원본에 있는 테이블, 테이블의 열 및 지원되는 데이터 형식과 같은 데이터 원본에 대한 자체 설명 정보를 반환합니다.
QueryType 인수는 반환된 열(스키마)을 나타내는 GUID입니다. OLE DB 사양에는 스키마의 전체 목록이 있습니다.
Criteria 인수는 스키마 쿼리의 결과를 제한합니다. 조건 결과 Recordset제약 조건 열이라는 열의 해당 하위 집합에서 발생해야 하는 값 배열을 지정합니다.
상수 adSchemaProviderSpecific 공급자가 이전에 나열된 쿼리 외부에서 자체 비표준 스키마 쿼리를 정의하는 경우 QueryType 인수에 사용됩니다. 이 상수가 사용되는 경우 실행할 스키마 쿼리의 GUID를 전달하려면 SchemaID 인수가 필요합니다. QueryType adSchemaProviderSpecific 설정되었지만 SchemaID 제공되지 않으면 오류가 발생합니다.
공급자가 모든 OLE DB 표준 스키마 쿼리를 지원할 필요는 없습니다. 특히 OLE DB 사양에는 adSchemaTables , adSchemaColumns및 adSchemaProviderTypes만 필요합니다. 그러나 공급자는 해당 스키마 쿼리에 대해 이전에 나열된 조건 제약 조건을 지원할 필요가 없습니다.
메모
원격 데이터 서비스 사용량OpenSchema 메서드는 클라이언트 쪽 Connection 개체에서 사용할 수 없습니다.
메모
Visual Basic에서 Connection 개체의 OpenSchema 메서드에서 반환된 Recordset 4바이트 부호 없는 정수(DBTYPE UI4)가 있는 열은 다른 변수와 비교할 수 없습니다. OLE DB 데이터 형식에 대한 자세한 내용은 OLE DB(OLE DB) 데이터 형식 및 부록 A: Microsoft OLE DB 프로그래머 참조의 데이터 형식 참조하세요.
메모
Visual C/C++ 사용자 클라이언트 쪽 커서를 사용하지 않을 경우 ADO에서 열 스키마의 "ORDINAL_POSITION"을 검색하면 MDAC 2.7, MDAC 2.8 및 Windows DAC(Windows DAC) 6.0에서 VT_R8 형식의 변형이 반환되고 MDAC 2.6에서 사용된 형식은 VT_I4. MDAC 2.7, MDAC 2.8 및 Windows DAC 6.0에서 실행되는 경우 VT_I4 형식의 반환된 변형만 찾는 MDAC 2.6용으로 작성된 프로그램은 모든 서수에 대해 0을 가져옵니다. 이 변경은 OLE DB가 반환하는 데이터 형식이 DBTYPE_UI4 서명된 VT_I4 형식에서 잘림이 발생하지 않고 가능한 모든 값을 포함할 공간이 부족하여 데이터가 손실되기 때문에 변경되었습니다.
적용 대상
참고 항목
VB(OpenSchema 메서드 예제)
OpenSchema 메서드 예제(VC++)
Open 메서드(ADO 연결)
Open 메서드(ADO 레코드)
Open 메서드(ADO Recordset)
Open 메서드(ADO Stream)
부록 A: 공급자