2012-01-12 19 views
8

में हाइपरियन एस्बेस कनेक्शन डेटा स्रोत के रूप में उपयोग करने के लिए ओएसकल हाइपरियन एस्बेस क्यूब से कनेक्ट करने के लिए मैं एसएसआईएस कैसे प्राप्त कर सकता हूं? इस लौटे निम्नलिखित Googling: "। एक तीसरी पार्टी उपकरण यह कर सकते हैं"एसएसआईएस

  1. एक similar question के अलावा अन्य कोई वास्तविक जवाब के साथ एक विशेष संस्करण के बारे में पूछा गया था

  2. microsoft SSIS connectors wiki इंगित करता है कि आप इसे Star Analytics के माध्यम से कर सकते हैं।

  3. एसक्यूएल सर्वर 2005 एसपी 2, Reporting Services (एसएसआरएस) के साथ शुरुआत डेटा स्रोत कनेक्शन है। यह उत्पाद सुविधा एसएसआईएस के लिए किसी ऑब्जेक्ट में अनुवाद नहीं प्रतीत होती है। एक ब्लॉगर ने सुझाव दिया कि यह quid pro quo व्यवस्था के रूप में किया जा सकता है इससे पहले ओरेकल ने हाइपरियन खरीदा था क्योंकि हाइपरियन ने उस समय SQL सर्वर 2005 एसएसएएस क्यूब से कनेक्ट करने का समर्थन करना शुरू किया था।

  4. @ बिलिंकक के अनुसार वह सीधे .NET से कनेक्ट करने के लिए उपयोग करता है। एक छोटी खुदाई Hyperion Application Builder .NET (एचएबी.नेट) लौटा दी। सबसे पहले यह एक आशाजनक समाधान प्रतीत होता था, लेकिन यह पता चला कि उत्पाद 11.1.3 रिलीज के साथ बंद कर दिया गया था। @ बिलिंकक ने अब एक कोड नमूना भी प्रदान किया है, इसलिए मैं इसका परीक्षण करूंगा और देख सकता हूं कि यह काम करता है या नहीं।

स्टार Analytics सर्वर उत्पाद है जो लागत निषेधात्मक है लाइसेंस के अलावा (मेरे लिए)

, वहाँ किसी भी अन्य समाधान कर रहे हैं?

+1

मैं अब एक Essbase स्थापना के लिए उपयोग किया है, लेकिन मैं SSRS और सीधे .NET में यह करने के लिए कनेक्ट कर सकता है तो मैं क्यों यह लघु उद्योगों में एक ही काम नहीं होता नहीं दिख रहा। आपके डेटा स्रोत को इसे खींचने के लिए एक स्क्रिप्ट घटक होने की आवश्यकता हो सकती है लेकिन – billinkc

+0

काम करना चाहिए जो उत्साहजनक लगता है। मुझे पता है कि एसएसआरएस इससे जुड़ सकता है, लेकिन ऐसा नहीं लगता कि यह कनेक्टिविटी सुविधा एसएसआईएस को पोर्ट की गई थी। मैं देख रहा हूं कि किसी ने .NET के माध्यम से डेटा को जोड़ने और निर्यात करने पर कोई स्क्रिप्ट प्रकाशित की है। –

उत्तर

6

मैंने HAB.NET के बारे में नहीं सुना था लेकिन इसे खोजने के लिए +1। इसके बजाए, मेरे पास अभी एक डीर्ट सरल कनेक्टिविटी परीक्षण है जो नीचे की तरह .NET में जा रहा है। मैंने इसे डीटीएस सामान के साथ काम करने के लिए थोड़ा सा संशोधित किया है। जाहिर है, आपको अपने बफर कॉलम और प्रकारों को परिभाषित करने की आवश्यकता होगी, लेकिन उम्मीद है कि यह आपको हाइपरियन सामान के माध्यम से प्राप्त करेगी।

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; 
     } 
    } 
} 
+0

इसने मेरी समस्या को अंत से अंत तक हल किया। आपका बहुत बहुत धन्यवाद! –

संबंधित मुद्दे