Reg*_*ser 8 .net oracle ssis hyperion essbase
如何让SSIS连接到Oracle Hyperion Essbase多维数据集以将其用作数据源?谷歌搜索返回以下内容:
有一个类似的问题被问到一个特定的版本没有真正的答案,除了"第三方工具可以做到".
一个微软SSIS连接器维基表明您可以通过做这个星分析.
从SQL Server 2005 SP2开始,Reporting Services(SSRS)具有数据源连接.此产品功能似乎没有转换为SSIS的任何对象.一位博主建议,在Hyperion开始支持连接到SQL Server 2005 SSAS多维数据集之前,这可能是在Oracle收购Hyperion之前作为交换条件安排完成的.
根据@billinkc,他使用直接.NET连接到它.一点点挖掘返回了Hyperion Application Builder .NET(HAB.NET).起初,这似乎是一个很有前景的解决方案,但事实证明该产品已经停止使用11.1.3版本.@billinkc现在也提供了一个代码示例,所以我将测试它,看看它是否有效.
除了许可成本过高的Star Analytics服务器产品(对我而言),还有其他解决方案吗?
我没有听说过HAB.NET,但是发现了+1.相反,我刚刚在.NET中进行了简单的连接测试,如下所示.我已经修改了一下以使用DTS的东西.显然,你需要定义你的缓冲区列和类型,但希望这能让你通过hyperion的东西.
要访问Microsoft.AnalysisServices.AdomdClient类,请添加对ADOMD.NET的引用并保存所有内容.然后下面的代码将正常运行.
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
using Microsoft.AnalysisServices.AdomdClient;
public class ScriptMain : UserComponent
{
public override void CreateNewOutputRows()
{
string connectionString = string.Empty;
connectionString = "Provider=MSOLAP;Data Source=http://hyperion00:13080/aps/XMLA; Initial Catalog=GrossRev;User Id=Revenue;Password=ea$yMon3y;";
string query = "SELECT ...";
AdomdDataReader reader = null;
try
{
using (AdomdConnection conn = new AdomdConnection(connectionString))
{
conn.Open();
using (AdomdCommand cmd = new AdomdCommand(query, conn))
{
reader = cmd.ExecuteReader();
while (reader.Read())
{
// Replace Console.WriteLine with assignment of
// Output0Buffer.AddRow();
// Output0Buffer.column = (stronglyTyped) reader[i]
Console.WriteLine(reader.GetString(0));
Console.WriteLine(reader.GetString(1));
}
Console.WriteLine("fin");
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |