OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Method

정의

GUID에 의해 지정된 대로, 지정된 제한을 적용한 후 데이터 소스로부터 스키마 정보를 반환합니다.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::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 Guid Guid Guid

반환할 스키마 테이블을 지정하는 OleDbSchemaGuid 값 중 하나입니다.One of the OleDbSchemaGuid values that specifies the schema table to return.

restrictions
Object[]

제한 값의 Object 배열입니다.An Object array of restriction values. 이 값은 제한 열의 순서에 적용됩니다.These are applied in the order of the restriction columns. 첫 번째 제한 값은 첫 번째 제한 열에 적용되고, 두 번째 제한 값은 두 번째 제한 열에 적용됩니다.That is, the first restriction value applies to the first restriction column, the second restriction value applies to the second restriction column, and so on.

반환

요청한 스키마 정보가 포함된 DataTable입니다.A DataTable that contains the requested schema information.

예외

지정된 제한 집합이 유효하지 않은 경우The specified set of restrictions is invalid.

OLE DB 공급자가 지정된 스키마 행 집합을 지원하지 않는 경우The specified schema rowset is not supported by the OLE DB provider.

또는-or- schema 매개 변수에 DbInfoLiterals 값이 포함되며 restrictions 매개 변수에 하나 이상의 제한이 포함된 경우The schema parameter contains a value of DbInfoLiterals and the restrictions parameter contains one or more restrictions.

예제

다음 샘플 데이터베이스에서 테이블의 목록을 반환합니다.The following sample returns a list of tables in a database.

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 매개 변수입니다.The schema table is returned as a DataTable that has the same format as the OLE DB schema rowset specified by the schema parameter. 사용 합니다 restrictions 에 반환 될 행을 필터링 하려면 매개 변수는 DataTable (예를 들어 테이블 이름, 형식, 소유자 또는 스키마에 대 한 제한 지정)에서.Use the restrictions parameter to filter the rows to be returned in the DataTable (for example, by specifying restrictions for table name, type, owner, or schema). 배열에 값을 전달 하는 경우에 빈 문자열 또는 null 값을 포함 하지 않는 배열 요소에 대해 포함 됩니다.When you pass values in the array, include empty strings or nulls for array elements that do not contain values. 빈 배열을 전달 하는 경우 restrictions합니다 (각 테이블 마다 하나씩) 모든 행이 기본 순서 대로 반환 됩니다.If you pass an empty array to restrictions, all rows (one for each table) are returned in default order. 배열의 값 원본 테이블의 열 순서와 일치 하 고 DataTable입니다.Values in the array correspond to the order of the columns in the source table and DataTable. 콘텐츠 스키마 행 집합의 해당 열을 사용 하 여 제한 배열의 각 요소를 비교 합니다.Each element in the restrictions array is compared with the content of the corresponding column in the schema rowset. 예를 들어 제한 배열의 첫 번째 요소는 행 집합의 첫 번째 열과 비교 됩니다.For example, the first element in the restrictions array is compared to first column in the rowset. 제한 요소를 null이 아닌 행만 스키마 행 집합에서 제한의 값과 정확히 일치 하는 결과에 추가 됩니다 DataTable합니다.If a restriction element is not null, only rows from the schema rowset that exactly match the value of the restriction are added to the resulting DataTable.

합니다 OleDbConnection 메서드는 기본 OLE DB 호출 idbschemarowset:: Getrowset 표준 공용 언어 런타임 변환 규칙을 사용 하는 방법입니다.The OleDbConnection method calls the underlying OLE DB IDBSchemaRowset::GetRowset method using standard common language runtime conversion rules. 자세한 내용은 COM 데이터 형식합니다.For more information, see COM Data Types.

사용 하 여 리터럴에 대 한 정보를 검색할 수 있습니다 DbInfoLiterals합니다.You can retrieve information about literals by using DbInfoLiterals. OLE DB 호출에 해당 정보를 제공 IDBInfo::GetLiteralInfo 인터페이스나 ADO Connection.OpenSchema 메서드를 adSchemaDBInfoLiterals 상수입니다.This provides information equivalent to calling the OLE DB IDBInfo::GetLiteralInfo interface, or the ADO Connection.OpenSchema method with the adSchemaDBInfoLiterals constant.

적용 대상

추가 정보