none
SQL 2005: link OLAP jako relacni databaze

    Dotaz

  • Ahoj,
    potrebuji mit jednoduse pristupne OLAP agregace v SQL (2005). Peru se s tim dlouho a nevim kde mam chybu. Priklad:

    - jednoducha data: prodeje, nad nimi zakaznik s jednou nadrazenou hierarchii (obr)


    - nad nimi de facto wizardem postavena kosticka (obr)


    - OLAP nalinkovan do SQL:

    EXEC sp_addlinkedserver
         @server='OLAP',
         @srvproduct='',
         @provider='MSOLAP',
         @datasrc='(local)',
         @catalog='Test'

    kdyz se pokusim o dotaz z linkovaneho serveru:

    SELECT * FROM OPENQUERY(OLAP,
    'select [Measures].[Sale] ON COLUMNS ,
    [Tb Customers].[Main Customer].[Level 02] ON ROWS
    FROM [Test]')

    Dostanu pouze:

    Msg 7399, Level 16, State 1, Line 1
    The OLE DB provider "MSOLAP" for linked server "OLAP" reported an error. The provider did not give any information about the error.
    Msg 7330, Level 16, State 2, Line 1
    Cannot fetch a row from OLE DB provider "MSOLAP" for linked server "OLAP".

    Diky predem za nakopnuti co vse mam blbe

    MP

    pondělí 7. června 2010 13:59

Odpovědi

Všechny reakce

  • Ahoj,

    na první pohled bych řekl, že by problém mohl být na ose řádků v MDX dotazu - není tam uveden set, ale level. Za zkoušku by stálo přidat funkci members:

    select
     [Measures].[Sale] ON COLUMNS,
     [Tb Customers].[Main Customer].[Level 02].Members ON ROWS
    FROM [Test]

    Když to ale namodeluji u sebe, tak mi to pracuje správně i v původní podobě :-(. Nemám u sebe momentálně ale žádnou parent-child hierarchii...

    MP.

    pondělí 7. června 2010 19:54
  • Ahoj,
    .Members jsem tam take mel, v podstate jsem si MDX vzdy testnul v SQL Management Studiu a pak obalil OPENQUERY.

    Kdyz vyberu NEEXISTUJICI level, napr.

    SELECT * FROM OPENQUERY(OLAP,
    'select
     [Measures].[Sale] ON COLUMNS,
     [Tb Customers].[Main Customer].[Level 04] ON ROWS
    FROM [Test]
    ') 

    dostanu aspon prazdny recordset (jediny sloupec [Measures].[Sale] a ZADNY radek) ale bez chybove hlasky.

    :(

    MP

    úterý 8. června 2010 5:56
  • Ahoj,

    nedalo mi to a zkusil jsem si udelat parent-child hierarchii. Funguje mi to vse spravne bez jakychkoli problemu. V dotazu to tak nebude. Na jake verzi SQL Serveru to zkousis?

    MP.

    úterý 8. června 2010 6:50
  • MS SQL 2005 (opraveno v dotazu, omlouvam se). Plne oservicepackovano.

    MP

     

    úterý 8. června 2010 7:38
  • Ahoj,
    jelikoz problem resim dlouho dovolil jsem si zaroven crosspostnout dotaz i do EN-US fora (jeste jednou se omlouvam) - http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/446a09b0-8158-40cf-92dc-8ca263456fa3

    Zaver: stacilo vystoupit a nastoupit pricemz netusim zda pomohlo bouchnuti dvermi nebo vypnuti zapalovani. Provedl jsem:

    - spustil SSMS ELEVOVANE
    - zaskrtl [x] Allow inprocess v MSOLAP provider config

    No a od te doby mi dotazy chodi i kdyz ODskrtnu allow inprocess a/nebo spustim SSMS s beznymi pravy. Mozna jsem nekdy nekde neco zmenil v neelevovanem SSMS a dokud jsem je nespustil jako Administrator nebralo se v potaz, kdo vi.

    Diky za rady, zejmena za potvrzeni ze dotaz je korektni (nejsem moc kovany v MDX :)

    MP

     

    úterý 8. června 2010 8:02
  • Spravny postup je zjevne tento:

    NENI TREBA spustit SSMS elevovane
    - zaskrtnout [x] Allow inprocess v MSOLAP provider config
    - nalinkovat (EXEC sp_addlinkedserver) OLAP server

    MP

     

    úterý 8. června 2010 13:49