Ako sa pripojiť k Oracle z Power BI

Dnes si ukážeme jednu drobnosť, s ktorou zápasí snáď každý, kto potrebuje analyzovať dáta z Oracle v Power BI – a to, ako ich tam vôbec dostať. Vďaka komplexnosti samotnej databázy je hneď niekoľko spôsobov, ako sa tam pripojiť. My si ukážeme najčastejšie dva, ako sa pripojiť k Oracle z Power BI.

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é. A že už len potrebujete vedieť, ako sa dá pripojiť k Oracle z Power BI.

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

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

V obidvoch prípadoch budete potrebovať mať nainštalovaného Oracle 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 Power BI Desktopu. Čiže ak máte 32-bitový Power BI Desktop, tak potrebujete 32-bitového Oracle klienta. A ak máte 64-bitový Power BI Desktop, potrebujete 64-bitového Oracle klienta. A rovnaké pravidlo aj postup platia pre Bránu údajov Power BI, keď sa rozhodnete rozchodiť automatickú aktualizáciu dát v cloude, či pre Power BI Report Server, ak ste on-premise.

Počas inštalácie klienta nezabudnite zakliknúť voľbu „Configure ODP.NET and/or Oracle Providers for ASP.NET at machine-wide level“ v jednom z okien inštalátora.

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

Power BI používa na pripojenie k Oracle knižnicu „Unmanaged ODP.NET„, ktorú je potrebné zaregistrovať, ak používate hore uvedeného klienta vo vyššej verzii ako 12.2. Na to je potrebné zaregistrovať ovládače vo Windows, čo pravdepodobne musí spraviť váš administrátor, pretože sú na to potrebné vyššie oprávnenia v systéme. Spravíte to tak, ako je to popísané v oficiálnej dokumentácii. Potom by ste mali mať už nastavené všetko aj na strane Power BI.

Pripojenie cez Oracle klienta

Toto je odporúčaný spôsob pripojenia, ako sa pripojiť k Oracle z Power BI. Jednak preto, že je najjednoduchší, a zároveň Vám bude fungovať aj režim Direct Query.

V Power BI Desktope kliknite na Získať údaje:

Otvorí sa okno. V ňom kliknite naľavo na Databáza a potom vyberte Databáza Oracle. Kliknite na tlačidlo Pripojiť:

Môže sa stať, že na Vás vyskočí takéto okno – ak máte všetko dobre nastavené (a Váš admin položil rituálnu obeť temnému pánovi, aby to vyšlo), tak ho môžete ignorovať, a kliknite na tlačidlo OK:

V ďalšom okne zadajte názov Vášho Oracle servera. Toto Vám dá niekto z IT oddelenia. Ak treba zadať názov servera aj Oracle SID alebo SERVICE, tak ho zadajte v tvare SERVER/SID, HOST/SID alebo HOST/SERVICE (tieto údaje nájdete aj v súbore TNSNAMES.ORA – viď nižšie v článku):

V ďalšom okne vyberte poverenia, akými sa budete prihlasovať k databáze:

Ak Vám dali meno/heslo užívateľa, tak ide o Oracle účet. V tom prípade kliknite naľavo na Databáza a vypíšte meno a heslo užívateľa. V oboch prípadoch potom kliknite na Pripojiť:

Ak by ste nevedeli, čo tam zadať, tak si nájdite na počítači súbor TNSNAMES.ORA, alebo povedzte administrátorovi databázy, nech Vám z neho pošle relevantnú časť. Bude tam nejaký takýto blok:

SERVER NAME=
  (DESCRIPTION=
    (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.38)(PORT=1521)))
       (CONNECT_DATA= (SID=ANALYTIKA) (SERVER=DEDICATED)))

V tomto prípade je názov servera to, čo je uvedené v zátvorke za „HOST=“, čiže „192.168.1.38“. A v tom bloku je uvedené aj SID, opäť v zátvorke za „SID=“, čiže v tomto prípade ANALYTIKA. Namiesto SID tam môže byť uvedené „SERVICE=“, a vtedy použite toto namiesto SID. Takže v tomto konkrétnom prípade sa pripojíte z Power BI tak, že ako názov servera v prvom okne zadáte „192.168.1.38/ANALYTIKA“.

Ak by navyše v hore uvedenom bloku bolo v zátvorke za „PORT=“ niečo iné ako 1521, tak toto číslo portu je potrebné uviesť tiež v názve servera, s dvojbodkou hneď za ním. Ak by tam bolo uvedené napr. číslo 6969, tak ako názov servera v tomto prípade budete musieť zadať „192.168.1.38:6969/ANALYTIKA“.

Ak ste všetko zadali správne, a zároveň bolo všetko dobre nastavené, zobrazí sa Vám okno so schémami a tabuľkami. Odtiaľto je to už rovnaké, ako keby ste importovali dáta z ľubovoľného iného dátového zdroja – zakliknite tabuľky, ktoré chcete naimportovať, a kliknite na Načítať:

A ak Vám to zbehlo, tak gratulujem, a môžete sa vrhnúť na analýzy a reporting 🙂

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 Power BI 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 Power BI Desktope. Ja som zadal „Moj Oracle„. Do poľa TNS Service Name zadajte názov servera buď vo formáte SERVER, SERVER/SID alebo SERVER/SERVICE, prípadne aj s číslom portu (podobne ako pri pripojení cez Oracle klienta, viď vyššie). Alebo, ak používate súbor TNSNAMES.ORA, tak tam dajte názov service-u z tohto súboru. 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 Power BI Desktopu.

V Power BI Desktope kliknite na Získať údaje:

V ľavom paneli kliknite na Iné, potom vyberte ODBC, a kliknite na Pripojiť:

V ďalšom okne vyberte v roletke svoj názov pripojenia (ten, čo ste pred chvíľou vytvorili) a stlačte OK:

V ďalšom okne zadajte Meno a heslo, a kliknite na Pripojiť:

Ak ste zadali meno a heslo správne, zobrazí Vám to klasický zoznam databázových schém a tabuliek nich. Pri ODBC pripojení je už ale cca. rok a pol chyba v Power BI Desktope, ktorá sa prejavuje nasledujúcim hlásením pri pokuse o výber ľubovoľnej tabuľky:

Ak sa Vám nechce čakať na opravu (čo po roku a pol asi už nebude veľmi reálne), tak existuje náhradné riešenie, ako to rozbehať. Vráťte sa naspäť o 2 obrazovky, kde ste mali na výber roletku s pripojeniami. Tam vyberte opäť svoje pripojenie, ale tentokrát kliknite na Rozšírené možnosti, a do toho veľkého okna napíšte SQL dotaz, ktorý vráti Vaše dáta:

V mojom prípade som chcel dáta z tabuľky „HR.COUNTRIES„, takže som napísal príkaz „SELECT * FROM HR.COUNTRIES“. Ale to už asi zvládnete aj sami 🙂 Následne kliknite na tlačidlo OK. Ak ste dotaz zadali správne, zobrazí sa náhľad dát:

Kliknite na tlačidlo Načítať, a ak to nevyhodí chybu, tak máte dáta v modeli 🙂 Je to síce otravnejší spôsob importu, pretože musíte takto importovať každú tabuľku zvlášť, ale keď je to Vaša jediná technologická možnosť, tak je to stále lepšie ako klincom do oka… Každopádne, problém vyriešený, a môžete sa vrhnúť na ďalší report 🙂

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