다음을 통해 공유


OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) 메서드

정의

GUID에 의해 지정된 대로, 지정된 제한을 적용한 후 데이터 소스로부터 스키마 정보를 반환합니다.

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable? GetOleDbSchemaTable (Guid schema, object?[]? restrictions);
public System.Data.DataTable GetOleDbSchemaTable (Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable

매개 변수

schema
Guid

반환할 스키마 테이블을 지정하는 OleDbSchemaGuid 값 중 하나입니다.

restrictions
Object[]

제한 값의 Object 배열입니다. 이 값은 제한 열의 순서에 적용됩니다. 즉, 첫 번째 제한 값은 첫 번째 제한 열에, 두 번째 제한 값은 두 번째 제한 열에 적용되고 나머지 값도 이러한 순서로 적용됩니다.

반환

요청한 스키마 정보가 포함된 DataTable입니다.

예외

지정된 제한 집합이 유효하지 않은 경우

OLE DB 공급자가 지정된 스키마 행 집합을 지원하지 않는 경우

또는

schema 매개 변수에 DbInfoLiterals 값이 포함되며 restrictions 매개 변수에 하나 이상의 제한이 포함된 경우

예제

다음 샘플에서는 데이터베이스의 테이블 목록을 반환합니다.

static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE" });
        return schemaTable;
    }
}
Public Function GetSchemaTable(ByVal connectionString As String) _
    As DataTable

    Using connection As New OleDbConnection(connectionString)
        connection.Open()

        Dim schemaTable As DataTable = _
            connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})
        Return schemaTable
    End Using
End Function

설명

스키마 테이블은 매개 변수에 DataTable 지정된 OLE DB 스키마 행 집합과 형식이 동일한 로 반환됩니다 schema . 매개 변수를 restrictions 사용하여 에서 반환 DataTable 할 행을 필터링합니다(예: 테이블 이름, 형식, 소유자 또는 스키마에 대한 제한을 지정). 배열에 값을 전달할 때 값이 포함되지 않은 배열 요소에 대해 빈 문자열 또는 null을 포함합니다. 빈 배열을 에 restrictions전달하면 모든 행(각 테이블에 대해 하나씩)이 기본 순서로 반환됩니다. 배열의 값은 원본 테이블 및 DataTable의 열 순서에 해당합니다. 제한 배열의 각 요소는 스키마 행 집합에 있는 해당 열의 내용과 비교됩니다. 예를 들어 제한 배열의 첫 번째 요소는 행 집합의 첫 번째 열과 비교됩니다. restriction 요소가 null이 아니면 제한 값과 정확히 일치하는 스키마 행 집합의 행만 결과 DataTable에 추가됩니다.

메서드는 OleDbConnection 표준 공용 언어 런타임 변환 규칙을 사용하여 기본 OLE DB IDBSchemaRowset::GetRowset 메서드를 호출합니다. 자세한 내용은 COM 데이터 형식을 참조하세요.

를 사용하여 DbInfoLiterals리터럴에 대한 정보를 검색할 수 있습니다. OLE DB IDBInfo::GetLiteralInfo 인터페이스 또는 상수를 사용하여 ADO Connection.OpenSchema 메서드 adSchemaDBInfoLiterals 를 호출하는 것과 동일한 정보를 제공합니다.

적용 대상

추가 정보