ADOMD.NET에서 스키마 행 집합 작업

ADOMD.NET 개체 모델에서 사용할 수 있는 메타데이터보다 많은 메타데이터가 필요한 경우 ADOMD.NET에서는 모든 범위의 XMLA (XML for Analysis), OLE DB, OLAP용 OLE DB 및 데이터 마이닝용 OLE DB 스키마 행 집합을 검색할 수 있는 기능을 제공합니다.

  • XML for Analysis 메타데이터
    XML for Analysis 스키마 행 집합에서는 하위 수준의 서버 정보를 검색할 수 있는 방법을 제공합니다. 사용할 수 있는 정보에는 서버에서 사용 가능한 데이터 원본, 공급자에 예약된 키워드, 공급자가 지원하는 리터럴 등이 있습니다. XML for Analysis 스키마 행 집합을 사용하여 공급자가 지원하는 모든 스키마 행 집합을 검색할 수도 있습니다.

    참조 항목: XML for Analysis 스키마 행 집합

  • OLE DB 메타데이터
    OLE DB 스키마 행 집합에서는 다양한 공급자의 정보를 검색할 수 있는 산업 표준 방법을 제공합니다.

    참조 항목: OLE DB 스키마 행 집합

  • OLAP 메타데이터
    분석 데이터 원본에 제공되는 스키마 정보에는 분석 데이터 원본에서 사용할 수 있는 데이터베이스 또는 카탈로그, 데이터베이스의 큐브 및 마이닝 모델, 데이터 원본에 있는 큐브의 역할 등이 포함됩니다.

    참조 항목: OLAP용 OLE DB 스키마 행 집합

  • 데이터 마이닝 메타데이터
    스키마 행 집합을 사용하여 OLAP 메타데이터뿐 아니라 마이닝 메타데이터도 검색할 수 있습니다. 사용할 수 있는 행 집합은 데이터베이스에서 사용 가능한 데이터 마이닝 모델, 사용 가능한 마이닝 알고리즘, 알고리즘에 필요한 매개 변수, 마이닝 구조 등에 대한 정보를 노출합니다.

    참조 항목: 데이터 마이닝 스키마 행 집합

이러한 여러 스키마 행 집합 각각에 대해 AdomdConnection 개체의 GetSchemaDataSet 메서드를 통해 GUID 또는 XMLA 이름을 전달하여 행 집합에서 메타데이터를 검색할 수 있습니다.

GUID를 전달하여 메타데이터 검색

AdomdSchemaGuid 클래스에는 공급자와 분석 데이터 원본에서 가장 일반적으로 지원되는 스키마 행 집합을 나타내는 필드 목록이 있습니다. 공급자 또는 분석 데이터 원본에서 일반 및 공급자 관련 메타데이터를 모두 검색하려면 다음 메서드 중 하나에서 AdomdSchemaGuid 개체에 포함된 GUID를 사용합니다.

[!참고]

ADOMD.NET 데이터 공급자는 특정 공급자 및 분석 데이터 원본에서 사용할 수 있도록 만든 기능을 통해 스키마 정보를 노출합니다. 각 공급자와 데이터 원본은 다른 메타데이터를 제공할 수 있습니다.

XMLA 이름을 전달하여 메타데이터 검색

다음 메서드에서는 반환할 스키마 정보를 식별하는 XMLA 스키마 이름과 반환된 열에 대한 제한으로 구성된 배열을 인수로 사용합니다.

이러한 메서드는 각각 스키마 정보로 채워진 DataSet 개체의 인스턴스를 반환합니다. DataSet 개체는 Microsoft .NET Framework 클래스 라이브러리의 System.Data 네임스페이스에 있습니다.

다음 예제에서는 GetActions 함수에서 연결, 큐브 이름, 좌표 및 좌표 형식을 사용하여 MDSCHEMA_ACTIONS 행 집합을 검색한 다음 선택한 좌표에서 사용할 수 있는 동작을 반환합니다.

//The following function can be called with the following data:
//ae.GetActions(conn, "Adventure Works","[Geography].[City]",6 );

//This would return a DataSet containing the actions available for cells
//in the Adventure Works cube on [Geography].[City].
private System.Data.DataSet GetActions(AdomdConnection Connection, string Cube, string Coordinate, int CoordinateType)
{
    //Create a restriction collection to restrict the schema information to be returned.
    AdomdRestrictionCollection restrictions= new AdomdRestrictionCollection();
    restrictions.Add("CUBE_NAME", Cube);
    restrictions.Add("COORDINATE", Coordinate);
    restrictions.Add("COORDINATE_TYPE", CoordinateType); //6 = Cell coordinate

    //Open and return a schema rowset, given the correct restictions
    return Connection.GetSchemaDataSet("MDSCHEMA_ACTIONS", restrictions);
}

참고 항목

참조

분석 데이터 원본에서 메타데이터 검색