Image
17.5.2016 0 Comments

Databázy II / 7.časť

Späť na úvod >> Späť na seriál

Vráťme sa na chvíľu k 13. časti seriálu. Hovorili sme o možných spôsoboch, ako sa dá pristupovať k dátam na SQL serveri. Rozobrali sme si jednotlivé vetvy A, B a C. Vetva A rieši priame pripojenie pomocou front-end aplikácie, ktorou je napr. nám dobre známy mysql monitor. Touto vetvou sme sa zaoberali na začiatku. Vetva B opisuje pripojenie pomocou PHP a HTTP servera, čo sme riešili nedávno. Vetva C sa zaoberá prístupom k dátam, ktoré sú ďalej spracúvané konkrétnou natívnou aplikáciou. Tou môže byť napr. aplikácia napísaná v niektorom vyššom programovacom jazyku, ktorý umožňuje používať príkazy SQL, napr. Delphi, Visual Basic a pod. Ale takou aplikáciou môže byť aj MS Excel. A tak si dnes ukážeme, ako sa dajú dáta, uložené niekde na inom, hoci aj vzdialenom MySQL serveri bežiacom na Linuxe, nádherne pripojiť do listu programu MS Excel. A aby to bolo efektnejšie, vytvoríme si z takto získaných dát aj pekný graf. Viem, že tentoraz asi pravých linuxákov nezaujmem, no ale povedzte, nepoteší sa takému výsledku váš šéf?

ODBC
Povedali sme si, že natívna aplikácia môže komunikovať s (ľubovoľným) SQL serverom dvojakým spôsobom:
-       priamo, teda využívaním API funkcií daného SQL servera
-       nepriamo, pomocou ODBC

Pre ilustráciu si predstavme aplikáciu MS Excel, ktorá vie (v spolupráci s MS Query, ktorá je súčasťou) zadávať príkazy SQL. Z pohľadu Excelu mu je úprimne jedno, na ktorý SQL server sa má pripojiť, pretože používa bežné normalizované príkazy SQL. To, kam sa pripojí, mu zabezpečí určitý sprostredkovateľ, a tým je ODBC. ODBC – Open DataBase Connectivity – je určitý štandard, ktorý zabezpečuje ľubovoľnej aplikácii spojenie a používanie príkazov SQL. Každý výrobca SQL servera produkuje aj vlastný ODBC driver, ktorý zabezpečí komunikáciu aplikácie práve len s jeho serverom.

MyODBC
Preto aj MySQL server má ODBC driver (pre Win95/98 a WinNT). Jeho úlohou je prevziať od natívnej aplikácie príkazy SQL a pretransformovať ich do takej podoby, aby im rozumel MySQL server.
Ak sme pozorne čítali, zistíme, že ak budeme v našej aplikácii, vytvorenej napr. v Delphi, Visual Basicu alebo dokonca v MS Accesse, používať štandardné príkazy SQL, môžeme jednoducho tú istú aplikáciu použiť v spojení s ľubovoľným SQL serverom. Stačí, ak použijeme príslušný ODBC driver (ovládač) daného SQL servera. Túto výhodu používajú mnohí programátori, lebo nemusia prácne upravovať svoje aplikácie.
My sa však vrátime k nášmu MySQL serveru.

Inštalácia MyODBC
Aby sme mohli v aplikáciách používať ODBC driver, musíme ho najprv naištalovať. Vyberieme si ten typ, ktorý je určený pre náš operačný systém. Pre Windows 95/98 je to jeden typ, pre Windows NT zase druhý typ. Obidva si môžete stiahnuť z mojej webovej stránky www.mior.host .sk. Princíp inštalácie je veľmi podobný a prípadné rozdiely skúsený používateľ Windows NT vyrieši sám, preto sa budem venovať iba verzii pre Windows 95/98.

A aby sme to mali akési ucelenejšie, poďme na to spolu metódou postupných krokov:
1.     Po stiahnutí príslušného drivera MyODBC v zazipovanom tvare ho rozbalíme do pomocného adresára
2.     V tomto adresári spustíme program SETUP
3.     Na obrazovke sa objaví inštalátor ODBC. Nech vás neprekvapí, že je to Microsoft ODBC Setup utilita, budeme inštalovať MySQL ODBC driver verzie 2.5, tak ako to vidíme na obrázku č. 1:

4.     Klikneme na Continue a v okne Install drives kliknutím zvýrazníme položku MySQL (Ak tak neurobíme, driver pre MySQL sa nenainštaluje a my budeme hľadať chybu ). Pozri obr. č. 2:

5.     Po prebehnutí inštalácie sa obrazí na obrazovke obr. č. 3. Týmto bodom sa ukončí pomerne nudná časť inštalácie ODBC drivera (ovládača).

6.     Potom môžeme pomocný adresár zmazať, aby zbytočne nezaberal miesto, a samotný zazipovaný súbor MyOBDC si odložíme (človek nikdy nevie...).
7.     Teraz musíme vykonať nastavenie ODBC drivera. To urobíme takto:

Prejdeme do menu Štart - Nastavenia - Ovládacie panely a pohľadáme ikonku s názvom 32bit ODBC.

Klikneme na túto ikonku a zobrazí sa okno ODBC Data Source Administrator. Na záložke s názvom User DSN vidíme názvy User Data Sources (používateľské dátové zdroje). Ak prebehla inštalácia MyODBC drivera v poriadku, mali by sme tu uvidieť dátový zdroj s názvom sample-MySql s driverom MySQL. Toto je príklad používateľského dátového zdroja, ktorý sa vytvoril pri inštalácii MyODBC drivera. Ak stlačíme tlačidlo Configure..., môžeme si prezrieť jeho nastavenia. Odporúčam tento príklad ponechať ako vzor. My si vytvoríme vlastný používateľský dátový zdroj. Preto klikneme na tlačidlo Add a zobrazí sa ďalšie okno s názvom Create New Data Source (obr. č. 4).

8.     V okne sa zobrazí zoznam niekoľkých driverov, hlavne od firmy Microsoft, ktoré už boli nainštalované súčasne s inštaláciou operačného systému, ako napr. Microsoft Access Driver, Microsoft dBase Driver a podobne. Zároveň sa tam nachádza nami požadovaný MySQL driver. Presunieme naň kurzor myši a kliknutím ho zvýrazníme, čím sme selektovali, že sa ďalej budeme zaoberať práve týmto driverom. Klikneme na Dokončiť a objaví sa konfiguračný formulár mysql drivera – obr. č. 5:

Vyplníme jednotlivé položky takto (toto je moja inštalácia, vy si ju prispôsobte podľa seba):
Prvý riadok je Windows DSN name – zvolíme ľubovoľné meno, napr. linsql. V druhom riadku vyplníme meno alebo IP adresu počítača, na ktorom beží MySQL server. Ak beží server na tom istom počítači, kde je aj spustená klientska aplikácia, zadáme localhost, ak beží server inde, zadáme meno alebo IP adresu konkrétneho počítača. (Mne beží MySQL server na Linuxe a Excel na inom stroji a nepoužívam DNS – nemýliť s DSN!!! –, preto som zadal IP adresu Linuxu.) V treťom riadku MySQL database name zadáme názov databáze, z ktorej budeme čerpať dáta. Jej meno si zvolíme podľa našej potreby, napr. pcrevue. Zostáva vyplniť meno používateľa User, čo musí byť meno, ktoré MySQL databáza pozná a má príslušné prístupové práva. V položke Password zadáme heslo zadaného používateľa. Vidíte, že je skryté pod hviezdičkami, aby ho nikto nemohol odpozorovať. Ostatné položky nevyplňujeme, ak sme, pravda, nespustili MySQL server v špeciálnom režime. Naše nastavenia potvrdíme skliknutím na tlačidlo OK. Zobrazí sa okno ODBC Data Source Administrator a vidíme, že pribudol nami definovaný používateľský zdroj s názvom linsql, pracujúci s driverom MySQL – obr. č. 6:

Tým sme ukončili inštaláciu a nastavenie ODBC drivera pre MySQL server.

Vytvorenie vzorovej tabuľky
Aby sme si mohli ukázať činnosť ODBC drivera v praxi, vytvoríme si vzorovú databázu a tabuľku. Začneme vytvorením databázy, ktorú pomenujeme rovnako, ako sme jej meno zadefinovali v nastavení drivera, teda pcrevue. (Samozrejme, môžete si meno zmeniť.) Potom v tejto databáze vytvoríme tabuľku s ľubovoľným názvom, napr. tabulka1. Bude obsahovať údaje o predaji súčiastok za rok 2000, uložené v dvoch stĺpcoch mesiac a pocet. Jej obsah by mohol vyzerať takto:

mesiac

pocet

január

159

február

256

marec

456

apríl

423

máj

359

jún

223

júl

156

august

623

september

265

október

121

november

226

december

452

Ako sa taká databáza a tabuľka vytvorí, to už, samozrejme, dobre vieme, ale ak sa vám ju nechce ručne napĺňať, môžete použiť skript, ktorý nájdete na mojej webovej stránke.

Klient
Ako sme si už povedali, klientom komunikujúcim s MySQL serverom cez MyODBC driver môže byť ľubovoľná aplikácia, schopná používať klasické príkazy SQL. Takou bude v našej ukážke aj MS Excel. Ten vie pomocou MS Query volať príslušný ODBC driver a poslať mu príkaz SQL. Výsledok príkazu dokáže spracovať a zobraziť vo svojom liste.
Spusťme MS Excel. Kliknime na menu Dáta – Načítať externé dáta – Vytvoriť nový dopyt (obr. č. 7):

Otvorí sa okno Zvoliť zdroj dát. Kliknutím zvýrazníme položku a stlačíme OK. Objaví sa nové okno Vytvoriť nový zdroj dát – obr. č. 8:

Začneme vypĺňať jednotlivé riadky.
Do prvého zadáme ľubovoľný názov zdroja dát, napr. graf1. V druhom riadku klikneme na rozbaľovaciu šípku, kde sa rozbalí roletové menu s ovládačmi – drivermi pre jednotlivé databázy. Zo zoznamu vyberieme typ MySQL. Vrátime sa do prvého okna a na treťom riadku stlačíme tlačidlo Pripojiť. Zobrazí sa už známy formulár, tentoraz s názvom TDX mysql Driver Connect, ktorý vyplníme úplne presne ako v predchádzajúcom formulári. Ak nedodržíme presnosť vyplnenia, spojenie sa neuskutoční!!! (obr. č. 9):

Po stlačení tlačidla OK sa vrátime do okna Vytvoriť nový zdroj – obr. č. 10:

Ak sa zobrazí okno s chybovou správou, niekde sme sa dopustili chyby, najpravdepodobnejšie sme nevyplnili obidva formuláre ROVNAKO!
Ak však prebehne všetko v poriadku, vedľa tlačidla Pripojiť sa objaví názov databázy, do ktorej sme sa zadaním vo formulári pripojili, teda v tomto prípade pcrevue. Zároveň sa vo štvrtom riadku ponúknu názvy tabuliek, uvedených v danej databáze. Stlačíme tlačidlo OK.
Objaví sa okno Sprievodca dopytom – voľba stĺpcov – obr. č. 11:

V tomto okne zvolíme príslušnú tabuľku, vyberieme požadované stĺpce tabuľky (v našom prípade úplne všetky dva) a stlačíme tlačidlo Ďalší>.
Objaví sa okno Sprievodca dopytom – filtrovanie dát (obr. č. 12):

V tomto okne by sme mohli nastavovať rôzne filtre, aby sme získali dáta, ktoré skutočne potrebujeme. Pravda, v našom ilustračnom príklade nepoužijeme žiadny filter, a preto stlačíme Ďalší>.
Objaví sa nové okno Sprievodca dopytom – dokončenie (obr. č. 13):

Tu sa ponúka možnosť, či rovno načítať dáta do aplikácie MS Excel alebo použiť MS Query na ďalšiu úpravu dát. My si vyberieme prvú možnosť a stačíme tlačidlo Dokončiť.
Objaví si ďalšie okno Vloženie externých dát – obr. č. 14:

Vyberieme si, kam sa majú nami žiadané dáta uložiť. Zase zvolíme prvú možnosť – uloženie do existujúceho listu. Môžeme vybrať bunku ľavého horného rohu, kam sa dáta načítajú. Stlačíme OK a dostaneme sa do listu Excelu a dáta sú na svojom mieste – obr. č. 15:

No čo, dobré, nie? Ale poznáte šéfov. Ich holé čísla nezaujímajú. A tak mu pripravíme graf!
Na to použijeme Sprievodcu grafom, čo je malá ikonka napravo. Klikneme na ňu a zobrazí sa prvé okno Sprievodcu grafom – typ grafu (obr. č. 16):

Tu si môžeme vybrať graf podľa vlastnej chuti. Mne sa páčil hned prvý – stĺpový, ale vy si vyberte sami. Stlačíme Ďalší>.
Objaví sa druhé okno sprievodcu – zdrojové dáta grafu (obr. č. 17):

Tu máme opäť niekoľko možností úpravy grafu, ale my stlačíme zase tlačidlo Ďalší>.
Objaví sa tretie okno sprievodcu – možnosti grafu (obr. č. 18):

Tu sa trocha pohráme. Pomenujeme graf, os X a os Y. Stlačíme Ďalší>.
Objaví sa posledné okno sprievodcu grafom – umiestnenie grafu (obr. č. 19):

Vyberieme si umiestnenie ako objekt do List1 a stlačíme Dokončiť.
Vrátime sa do listu aplikácie a vidíme, že okrem tabuľky máme na liste aj nádherné grafické vyjadrenie dát – obr. č. 20:

A to bolo cieľom nášho úsilia. Ak vás napadajú rôzne iné zlepšenia a aplikácie, ste na správnej ceste moderného tvorcu prezentácie dát.
Možno vás napadne, že Excel je len taký jednosmerný prostriedok. Dokáže dáta zobrazovať, ale už ich nevie modifikovať alebo dopĺňať. Bolo by ozaj efektné, aby sme z akejsi oknoidnej aplikácie dáta aj menili, dopĺňali alebo mazali. A to si vysvetlíme nabudúce.

 

 

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

Ako zbaviť fotky hmly

08.12.2016 11:59

Hmla alebo dym sú často veľmi kreatívne nástroje. No všetkého veľa škodí. Fotka potom stráca kontrast a v podstate na nej nič nevidieť. Hmlu môžete neraz následnými úpravami odstrániť alebo zredukovať ...

Ako na to

Užitočné SW nástroje

08.12.2016 11:53

AllDup v4.0.3 Určenie: program na vyhľadávanie a odstraňovanie duplicitných súborov Vlastnosti: duplicitné súbory sa vyhľadávajú len na zvolených diskových jednotkách alebo len v rámci vybraných ...

Ako na to

Fotografovanie s bleskom

08.12.2016 11:47

Ak máte moderný fotoaparát so vstavaným alebo externým bleskom, zdá sa vám téma článku triviálna. Jednoducho nastavíte vhodný režim, vyberiete najlepšiu kompozíciu záberu, exponujete a o zvyšok sa už ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá