Ako sa pripojiť k Oracle z PowerPivotu

Ak potrebujete analyzovať dáta v databázach Oracle z PowerPivotu, tak narazíte pravdepodobne na jeden problém – nejde to. Za tých 8 rokov, počas ktorých pracujem s PowerPivotom a tabulárnymi modelmi, sa mi ešte ani raz nestalo, aby to išlo na prvý pokus. Pozrieme sa teda na to, ako to rozbehať v PowerPivote, a nestráviť nad tým celý deň.

Na začiatok jedno upozornenie: ak Vám niektorý z týchto krokov nepôjde, kontaktujte svojho IT administrátora, programátora či dodávateľa aplikácie. Príčin, kvôli ktorým Vám to nejde, môže byť hromada, od zle nastavených prístupov, cez sieťové problémy až po problémy v samotnej databáze. A keby som ich mal pokryť, tak môžem rovno založiť ďalší blog a mám o čom písať ďalších 5 rokov 🙂 Tento článok predpokladá, že už máte všetko správne nastavené. Teda aspoň z pohľadu oraclistov a siete. A že už len potrebujete vedieť, ako sa dá pripojiť k Oracle z PowerPivotu.

Návod na pripojenie k Oracle z Power BI nájdete v tomto článku.

K Oraclu sa môžete pripojiť 2 hlavnými spôsobmi z PowerPivotu:

  • cez Oracle klienta (odporúčaný spôsob)
  • cez rozhranie ODBC

V obidvoch prípadoch budete potrebovať mať nainštalovaného Oracle klienta. Nestačí Instant Client (!), potrebujete mať nainštalovaného plného klienta. Podporované sú verzie Oracle 9 a novšie, a Oracle client software 8.1.7 a novšie. Trik je v tom, že musíte mať nainštalovanú rovnakú bitovú verziu Oracle klienta, ako je Vaša inštalácia Excelu. Čiže ak máte 32-bitový Excel, tak potrebujete 32-bitového Oracle klienta. A ak máte 64-bitový Excel, tak potrebujete 64-bitového Oracle klienta. Najnovšiu verziu Oracle klienta stiahnete odtiaľto:

  1. 32-bitová verzia – 32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio (12.1.0.2.4)
  2. 64-bitová verzia – 64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64

Pripojenie cez Oracle klienta

Toto je odporúčaný spôsob pripojenia, ako sa pripojiť k Oracle z PowerPivotu. Je najjednoduchší, a v serverovej verzii budete mať prístupný aj režim Direct Query.

V PowerPivote kliknite v hornej lište na tlačidlo Z iných zdrojov:

Vyberte zdroj údajov Oracle a stlačte tlačidlo Ďalej:

V novom okne vyplňte polia podľa údajov od Vášho IT oddelenia. Do políčka Názov servera uveďte názov servera vo formáte buď SERVER, alebo SERVER/SID. Potom vyplňte meno a heslo používateľa, a nezabudnite zakliknúť políčko Uložiť moje heslo (inak stále budete musieť zadávať heslo pri aktualizácii dát):

Potom kliknite na tlačidlo Testovať spojenie. Ak ste zadali správne údaje, zobrazí sa toto okno:

Ak sa Vám nepodarí pripojiť, tak skontrolujte zadané údaje – názov servera, meno a heslo – a skúste znova.

Ak Vám to vyhodí chybu “Failed to connect to the server. Reason: The ‘OraOLEDB.Oracle’ provider is not registered on the local machine.”, tak postupujte podľa tohto článku (treba zaregistrovať OraOLEDB11.dll cez regsvr32 v inštalačnom BIN adresári Oracle klienta).

Ak Vám to prejde bez chyby, tak kliknite na tlačidlo Ďalej, a zobrazí sa na výber klasická ponuka:

Prvú možnosť vyberiete, ak chcete naimportovať tabuľky z Vašej schémy, a druhú možnosť ak potrebujete tabuľky z inej schémy alebo výsledok SQL dotazu. V tomto druhom prípade treba zadať SQL dotaz ručne, napr. pre tabuľku HR.COUNTRIES treba napísať príkaz „SELECT * FROM HR.COUNTRIES“. A odtiaľto to zvládnete už sami 🙂

Pripojenie cez ODBC

V niektorých prípadoch nejde pripojenie prvým spôsobom, a je potrebné vyskúšať aj druhú alternatívu. A tou je pripojenie k Oracle z PowerPivotu cez rozhranie ODBC. To je trošku zložitejšie, ale nie je to nič, čo by sme nezvládli 🙂

Pred prvým pripojením treba najprv vytvoriť ODBC pripojenie k databázovému serveru. Tento postup stačí vykonať iba raz.

Kliknite vo Vašich Windowsoch na tlačidlo Štart, a zadajte tam “ODBC“. Vo výsledkoch vyhľadávania by ste mali nájsť položku Microsoft ODBC Administrator (a ak máte iné ako anglické Windows, nájdite jeho ekvivalent). Spustite túto aplikáciu:

V novom okne kliknite na tlačítko Add…, resp. Pridať:

Vyberte ovládač Oracle. Jeho názov sa bude pravdepodobne začínať na niečo v štýle „Oracle in …„. Potom stlačte tlačidlo Finish:

V novom okne nakonfigurujte ovládač. Do prvého políčka zadajte svoj názov pripojenia – tento sa Vám bude neskôr zobrazovať na výber v PowerPivote. Ja som zadal „Moj Oracle„. Do poľa TNS Service Name zadajte názov servera buď vo formáte SERVER, alebo SERVER/SID. Do poľa User ID zadajte svoje prihlasovacie meno:

Ostatné nastavenia pravdepodobne nemusíte upravovať, ak Vám to nepovedal niekto z IT, že je tam niečo potrebné zmeniť. Kliknite teda na tlačidlo Test Connection, aby ste otestovali pripojenie.

V novom okne, do posledného políčka, zadajte svoje heslo a stlačte OK:

Ak na Vás vyskočí okno s hlásením „Connection successful„, tak môžete oslavovať, prvý krok máte správne (ale nezabudnite ešte dokončiť ďalšie kroky):

Ak nie, overte si, či ste zadali správne názov servera, meno a heslo. Ak máte všetko správne a aj tak to dáva iné hlásenie, pošlite ho svojmu IT administrátorovi, alebo tomu, kto Vám dal tie prihlasovacie údaje. Mal by Vám s tým pomôcť.

Keď to máte hotové, kliknite na OK, potom v pôvodnom okne znova na OK:

A potom v tom úplne prvom okne znova na OK 🙂

Týmto máte úspešne nakonfigurované ODBC pripojenie k Oraclu, a môžete sa presunúť do PowerPivotu.

V PowerPivote kliknite v hornej lište na tlačidlo Z iných zdrojov:

Vyberte zdroj údajov Iné (OLEDB/ODBC) a stlačte tlačidlo Ďalej:

V ďalšom okne zadajte do prvého políčka Váš názov pripojenia pre PowerPivot (v podstate hocijaký, dá sa neskôr zmeniť). Podstatné je zadať údaje pre pripojenie do políčka Reťazec pripojenia:

Ten zadáte buď nepriamo pomocou tlačidla Zostaviť… (čo však v prípade Oraclu skoro nikdy nefunguje), alebo ho zadáte priamo. A teď babo raď… Malo by Vám to poskytnúť Vaše IT oddelenie, ale väčšinou mi u klientov zafungoval tento na prvý pokus:

Provider=MSDASQL;Persist Security Info=True;User ID=tester;DSN=Moj Oracle;Extended Properties=”UID=tester; pwd=mojeSupertajneHeslo”

Zadajte to celé dokopy do 1 riadku. Medzi slovami “Extended” a “Properties” je medzera. Potom to upravte nasledovne:

  1. hodnotu “tester” nahraďte Vašim prihlasovacím menom – pozor, je tam uvedená dvakrát – nahraďte oba výskyty
  2. hodnotu “mojeSupertajneHeslo” nahraďte Vašim heslom
  3. hodnotu “Moj Oracle” nahraďte názvom Vášho ODBC pripojenia – tým názvom, ktorý ste predchvíľou zadávali, keď ste vytvárali ODBC pripojenie na začiatku tohto návodu

Ak to máte hotové, a ešte sa Vám z toho nekrížia oči, tak vyskúšajte kliknúť na tlačidlo Testovať spojenie. Ak je všetko zadané správne, a Mars je v správnej konštelácii s Jupiterom, tak by Vám to malo vypísať toto hlásenie:

Ak to vypísalo také hlásenie, kliknite na tlačidlo Ďalej. Ak to vypísalo hlásenie obsahujúce “…Oracle ODBC: Driver’s SQLAllocHandle on SQL_HANDLE_ENV failed…”, tak skúste všetko zatvoriť, a povedzte IT adminovi, aby spustil Excel ako správca a skúsil sa pomocou tohto návodu znova pripojiť k Oracle z PowerPivotu. Ak to prejde, tak fajn, nabudúce to pôjde aj Vám ako nesprávcovi. A ak nie, tak admin môže vyskúšať napr. rady z tohto článku. Ako vždy, Google a Stack Overflow to istia 🙂

Keď sa Vám teda podarilo pripojiť sa, tak sa zobrazí na výber klasická ponuka:

Prvú možnosť vyberiete, ak chcete naimportovať tabuľky z Vašej schémy, a druhú možnosť ak potrebujete tabuľky z inej schémy alebo výsledok SQL dotazu. V tomto druhom prípade treba zadať SQL dotaz ručne, napr. pre tabuľku HR.COUNTRIES treba napísať príkaz „SELECT * FROM HR.COUNTRIES“. A odtiaľto to už opäť zvládnete aj sami 🙂

Takže, toto boli dva hlavné spôsoby, ako sa pripojiť k Oracle z PowerPivotu. A môžete čarovať ďalej 🙂