0

MDXを使用してSSASデータベースにクエリを実行し、これをRhino ETLのデータソースとして使用することは可能ですか?ここでは、SSASインスタンスへのOLEDB接続の作成について説明しています。

ありがとう!

4

3 に答える 3

3

.NETアプリケーション内でRhinoETLを使用している場合は、そうです。まず、Microsoft.AnalysisServices.AdomdClient.dllを参照します。次に、RhinoETLのAbstractOperationを実装してデータを抽出します。次に例を示します。

namespace Etl.Operations
{
    public class ExtactFromAnalysisServices : AbstractOperation
    {
        private readonly AdomdConnection _connection;
        private readonly string _mdx;

        public ExtactFromAnalysisServices(string connectionString, string mdx)
        {
            _connection = new AdomdConnection(connectionString);
            _mdx = mdx;

            _connection.Open();
        }

        public override IEnumerable<Row> Execute(IEnumerable<Row> rows)
        {
            var command = _connection.CreateCommand();

            command.CommandText = _mdx;

            using (var reader = command.ExecuteReader())
                while (reader.Read())
                    yield return Row.FromReader(reader);
        }

        public sealed override void Dispose()
        {
            _connection.Close();
            _connection.Dispose();
            base.Dispose();
        }
    }
}

次のようなプロセスで使用します。

public class Process : EtlProcess
{
    protected override void Initialize()
    {
        Register(new ExtactFromAnalysisServices("connection string", "mdx query"));
        Register(new SomeTransform());
        Register(new SomeLoad());
    }
}
于 2012-12-28T16:47:54.897 に答える
0

Rhino ETLはわかりませんが、SSASとSSISを使用してこれを行うことができます。

于 2012-07-13T14:32:12.880 に答える
0

はい、できます:http: //msdn.microsoft.com/en-us/library/ms146862 (v=sql.90).aspx

「クライアントアプリケーションは、Analysis Servicesのインスタンスを実行しているフルスケールサーバーと対話することなく、ローカルキューブに接続し、多次元式(MDX)を使用してクエリを実行できます。」

ただし、rhinoで動作するかどうかはわかりません。

于 2012-07-16T13:21:46.020 に答える