SSAS与Rhino ETL?

时间:2012-07-12 21:44:12

标签: ssas etl rhino-etl

是否可以使用MDX查询SSAS数据库并将其用作Rhino ETL的数据源?我在谈论在这里建立一个到SSAS实例的OLE DB连接。

谢谢!

3 个答案:

答案 0 :(得分:3)

如果您在.NET应用程序中使用Rhino ETL,那么是的。首先,参考Microsoft.AnalysisServices.AdomdClient.dll。然后,实现Rhino ETL的 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());
    }
}

答案 1 :(得分:0)

我不知道Rhino ETL,但你可以用SSAS和SSIS来做到这一点。

答案 2 :(得分:0)

是的,你可以:http://msdn.microsoft.com/en-us/library/ms146862(v=sql.90).aspx

  

“客户端应用程序可以连接到本地多维数据集并执行查询   使用多维表达式(MDX)而不与...进行交互   运行Analysis Services实例的完整服务器。“

不确定它是否适用于rhino。