Доступ к кубам SSAS с использованием служб данных WCF - PullRequest
2 голосов
/ 12 декабря 2011

У меня есть требование, по которому мне нужно извлекать данные из кубов SSAS и отправлять их в OData.Как это можно сделать?Любая помощь будет оценена.Любые указатели на пример кода также будут высоко оценены.

Спасибо и всего наилучшего,

Венкатеш.S

Ответы [ 3 ]

1 голос
/ 19 февраля 2012

вы можете использовать ADOMD.Net для выполнения запроса и отправки результата с помощью wcf. Ниже приведен класс, который я обычно использую.

class MDXQueryEngine : IMDXQueryEngine
{
    private readonly string _serverName;
    private readonly string _initalCatalog;

    public MDXQueryEngine(string serverName, string initalCatalog)
    {
        _serverName = serverName;
        _initalCatalog = initalCatalog;
    }

    public TResult Execute<TResult>(MDXQuery query, Func<IDataReader, TResult> work)
    {
        var connectionString = string.Format("Data Source={0}; Initial Catalog={1}", _serverName, _initalCatalog);
        TResult result;

        using (var conn = new AdomdConnection(connectionString))
        {
            conn.Open();
            using(var cmd =  conn.CreateCommand())
            {
                cmd.CommandText = query.Expression;
                using (var reader = cmd.ExecuteReader())
                {
                    result = work(reader);
                }
            }
        }

        return result;
    }
}
1 голос
/ 17 апреля 2012

Вы можете запросить кубы SSAS, используя LINQ и ADO.NET Entity Framework. Вам понадобится SSAS Entity Framework Provider, чтобы сделать это: http://agiledesignllc.com/products

Этот параметр упрощает и упрощает построение служб данных WCF.

0 голосов
/ 12 декабря 2011

Я предполагаю, что это кубы SSAS.Не уверен насчет конкретных структур как таковых, чтобы сделать это.Но одно из возможных решений: обернуть куб (MDX) процедурой хранения.(Доступ к SSAS с MDX из SP) Вы можете создать службу данных WCF, добавить EM и указать хранимую процедуру для EM.Вы должны быть в состоянии выставить их как oData.

...