SSAS с Rhino ETL?
Можно ли запросить базу данных SSAS с использованием MDX и использовать ее в качестве источника данных для Rhino ETL? Я говорю о создании соединения OLE DB с экземпляром SSAS здесь.
Спасибо!
3 ответа
Если вы используете Rhino ETL в приложении.NET, тогда да. Прежде всего, обратитесь к Microsoft.AnalysisServices.AdomdClient.dll. Затем внедрите AbstractOperation Rhino ETL для извлечения данных. Вот пример:
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());
}
}
Я не знаю Rhino ETL, но вы можете сделать это с помощью SSAS и SSIS.
Да, вы можете: http://msdn.microsoft.com/en-us/library/ms146862(v=sql.90).aspx
"Клиентские приложения могут подключаться к локальному кубу и выполнять запросы с использованием многомерных выражений (MDX), не взаимодействуя с полнофункциональным сервером, на котором работает экземпляр служб Analysis Services".
не уверен, что это будет работать с носорогом, хотя.