Toto je len malý update k predchádzajúcemu článku Windows Server 2008 R2 x64 + SQL Server 2008 R2 x64 ODBC linkovaný server na Oracle 10gR2, ktorý bol ukončený ukážkou s nekorektne pracujúcim ODBC ovládačom. Len pre občerstvenie – po nainštalovaní Oracle klienta a nakonfigurovaní linkovaného servera s ODBC ovládačom nefungovala ani jedna naša query korektne:
1. SELECT * FROM ORACLE_ODBC..HR.EMPLOYEES
Táto query skončila s chybou

2. SELECT * FROM OPENQUERY(ORACLE_ODBC, 'SELECT * FROM HR.EMPLOYEES')
No a táto query vráti nekompletný výsledok - 8 záznamov zo 107 …

Takže po browsovaní internetu a hľadaní po fórach a následných konzultáciach s Oracle konzultantom som prišiel k záveru, že k tejto chybe zrejme neexistuje fix (možno okrem plateného Oracle patch-u, ktorý som ale nemal možnosť odskúšať) ani workaround. Tento môj názor podporuje aj mnoho odporúčaných riešení odkazujúcich na novšiu verziu ODBC ovládača, ktorá je dostupná k db Oracle 11g.
Novšiu verziu som vyskúšal, a v tomto prípade som otestoval tzv. Oracle Instant klienta, môžem povedať, že … – ale o tom viac v samostatnom článku. Čoskoro !
V predchádzajúcom článku Windows Server 2008 R2 x64 + SQL Server 2008 R2 x64 OLEDB linkovaný server na Oracle 10gR2 sme si popísali postup, ako nakonfigurovať linkovaný server prostredníctvom OLEDB. Počas inštalácie sme zvolili aj inštaláciu ODBC driverov, takže teraz môžeme túto situáciu využiť a pustiť sa do konfigurácie linkovaného servera prostredníctvom ODBC. Postup je nasledovný:
1. Konfigurácia DSN prostredníctvom ODBC Administrator
2. Vytvorenie ODBC linkovaného servra
Konfigurácia DSN
Najprv je teda potrebné nakonfigurovať ODBC DSN. Ovládací panel spustíme z menu Start-> Administrative Tools –> Data Sources (ODBC). V záložke drivers skontrolujeme, či máme správne nainštalovaý Oracle ODBC driver:

Pokiaľ sa nám zobrazí nainštalovaný Oracle driver, môžeme sa pustiť do konfigurácie System DSN. Pripomeňme si, že budeme potrebovať údaje z TNSNAMES.ORA – z predchádzajúceho článku nám zostal funkčný modernejší zápis:
XE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = XE))
)
)
Takže pridáme nový System Data Source typu “Oracle in OraClient10g_home1” a vyplníme konfiguráciu podľa nasledovného obrázku a otestujeme spojenie pomocou “Test Connection”:

Konfigurácia ODBC linkovaného servra
No a linkovaný server potom nakonfigurujeme starým známym spôsobom podľa nasledovného obrázku:

Dôležité je do Data Source v konfigurácii linkovaného servra zadať názov zo System DSN z ODBC konfiguračného panela.
Doplníme ešte Oracle login a heslo:

Krátka kontrola spojenia – vyzerá všetko v poriadku:

Spustíme ešte naše query:
SELECT * FROM ORACLE_ODBC..HR.EMPLOYEES
Oops !

Skúsime ešte druhú query:
SELECT * FROM OPENQUERY(ORACLE_ODBC, 'SELECT * FROM HR.EMPLOYEES')
Toto vyzerá už lepšie, ale …

Táto query nám však vrátila iba 8 záznamov namiesto 107 ! Po krátkom browsovaní po webe to vyzerá na chybu v ODBC ovládači – zrejme bude potrebné otestovať novšie verzie ODBC ovládačov, resp. nové verzie Oracle klientov. K tomu sa dostanem neskôr, takže ak Vás tento článok zaujal, stay tuned !
Pre rozchodenie komunikácie medzi SQL Server a Oracle Express 10gR2 budeme potrebovať klienta Oracle, ktorého je možné stiahnuť zo stránok Oracle – napr. http://www.oracle.com/technetwork/database/10204-winx64-vista-win2k8-082253.html. Táto verzia klienta je označená ako 10.2.0.4.0. Po spustení inštalácie na Windows Server 2008 R2 sa objaví obrazovka s chybou:

Táto chyba znamená, že ešte pred spustením inštalácie inštalátor kontroluje podporované verzie operačného systému a verzia 6.1 (Windows Server 2008 R2) nie je certifikovaná. Túto nepríjemnosť môžeme vyriešiť nasledovným trikom:
1. Otvoríme si v notepade súbor oraparam.ini, ktorý nájdeme v adresári ..\client\install
2. Do časti [Certified versions] doplníme číslo verzie - 6.1 a súbor uložíme.

3. Znova spustíme inštaláciu a tentoraz kontrola na certifikované verzie OS dopadne v poriadku:

V ďalšom kroku si zvolíme typ inštalácie – pre inštaláciu OLEDB alebo ODBC driverov nám bude stačiť custom inštalácia:
Ďalej si musíme zvoliť cieľový adresár inštalácie Oracle klienta. Parameter Name môžeme ponechať default, ale pri zadávaní cesty do cieľového adresára si musíme zvážiť, či chceme okrem 64-bitovej verzie inštalovať aj 32-bitovú verziu. V prípade, že linkovaný server inštalujeme na produkčný SQL Server, tak nám stačí 64-bitová verzia, ak inštalujeme vývojársku stanicu, kde potrebujeme mať spojenie na Oracle aj z prostredia Business Intelligence Development Studio, tak potrebujeme mať nainštalovanú aj 32-bitovú verziu – BIDS je totiž 32-bitová aplikácia. V takomto prípade je možné nainštalovať 64-bitového klienta do adresára …\client_64 a 32-bitovú verziu do adresára …\client_32.
V našom prípade si zvolíme cieľovú cestu do adresára …\client_64:

V ďalšom kroku nás čaká ďalšia kontrola – odporúčané minimum vhodné na inštaláciu Oracle klienta. Pri dvoch kontrolách “Check operating system requirements …” a “Checking service pack requirements” zvolíme manuálnu kontrolu – “User verified”:

No a konečne sa dostávame k voľbe požadovaných komponentov – nám budú postačovať nasledovné komponenty z Oracle Windows Interfaces 10.2.0.4.0 (ODBC driver samozrejme len kvôli nastaveniu komunikácie prostredníctvom ODBC, čo bude popísané v samostatnom článku):

Komponenta Oracle Services for MS Transaction Server obsahuje službu Oracle MTS Recovery Service, ktorá je zodpovedná za vyriešenie in-doubt transakcií v spolupráci s MS DTC – môžeme ponechať default hodnotu portu, prostredníctvom ktorého bude táto služba komunikovať:

Tak to by bolo z inštalácie všetko, stačí už iba reštartovať SQL server a môžeme sa pustiť do konfigurácie komunikácie
.
Pred samotnou konfiguráciou SQL Servera je potrebné nakonfigurovať komunikáciu medzi Oracle klientom a databázou. Jeden zo spôsobov nastavenia komunikácie na Oracle databázy je prostredníctvom editácie súboru TNSNAMES.ORA, ktorý sa nachádza v adresári C:\oracle\product\10.2.0\client_64\Network\Admin. Pre nastavenie komunikácie potrebujeme poznať
| typ komunikačného protokolu: | TCP |
| adresu servera, kde beží Oracle db (DNS meno alebo IP adresa): | oracle |
| číslo TCP portu: | 1521 |
| názov služby: | ORACLE_SERVICE |
| názov db: | XE |
Obsah súboru TNSNAMES.ORA je potom nasledovný:
ORACLE_SERVICE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
)
(CONNECT_DATA = (SID = XE))
)
)
Modernejší zápis súboru je:
XE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = XE))
)
)
Pre každý spôsob zápisu bude potrebné prispôsobiť konfiguráciu linkovaného servera. Obidva spôsoby sú popísané nižšie.
Otestovať komunikáciu môžeme prostredníctvom utility Oracle Net Manager, ktorú si môžeme zakliknúť pri inštalácii klienta, alebo pomocou utility SQL*Plus, čo je nástroj na zasielanie queries na db Oracle.
Tak, po úspešnej konfigurácii komunikácie medzi klientom a db Oracle môžeme pristúpiť k vytvoreniu linkovaného servra. Linkovaný server vytvoríme v dvoch krokoch:
1. Konfigurácia drivera OracOLEDB.Oracle
Pre správnu funkčnosť drivera je potrebné zakliknúť Allow inprocess na True:
a. Linked Servers –> Providers –> OraOLEDB.Oracle –> Properties

b. Allow inprocess = True

2. Vytvorenie linkovaného servera
Konfiguráciu linkovaného servera vyplníme podľa nasledovnej tabuľky, kde najdôležitejší parameter je Data source, a tu treba uviesť názov služby, ktorá je uvedená v súbore TNSNAMES.ORA (v našom prípade Oracle_Service):
| Linked server: | ľubovoľný názov linkovaného servera |
| Provider: | Oracle Provider for OLEDB |
| Product name: | ľubovoľný názov (Oracle) |
| Data source: | Oracle_Service |

Pri modernejšom spôsobe zapisovania konfigurácie komunikácie v súbore TNSNAMES.ORA potom konfigurácia Data source bude vyzerať nasledovne:
V záložke Security potom zadáme názov účtu a heslo účtu, pod ktorým sa budeme hlásiť do Oracle db:

No a na záver môžeme vyskúšať, či dokážeme prečítať nejaké dáta z tabuliek v Oracle db. Môžeme použiť ľubovoľný spôsob:
SELECT * FROM ORACLEXE..HR.EMPLOYEES
SELECT * FROM OPENQUERY(ORACLEXE,'SELECT * FROM HR.EMPLOYEES')
Výsledok by mal byť rovnaký
:

Nabudúce si ukážeme konfiguráciu linkovaného servera prostredníctvom 64-bitového ODBC.
Migrácia SQL Server aplikácie z 32-bitovej verzie na 64-bitovú niekedy prináša neočakávané prekvapenia. V našich zemepisných šírkach sa takéto aplikačné migrácie najčastejšie spájajú s migráciou na nový HW a prípadne aj na novú verziu OS. Ak nie je dosť času na dôkladné otestovanie migrácie a funkčnosti všetkých dôležitých komponentov potrebných pre správnu funkciu aplikácie, môžeme sa stretnúť napr. s nefunkčnosťou linkovaných serverov, používaných na spojenie s inými db servermi ako je SQL Server – Oracle, DB2 a pod.
V nasledovnej sérii článkov si ukážeme, ako spojazdniť spojenie na Oracle a DB2 prostredníctvom linkovaných serverov na platforme Windows Server 2008 R2 x64 a SQL Server 2008 R2 x64.
-
-
-
Windows Server 2008 R2 x64 + SQL Server 2008 R2 x64 OLEDB linkovaný server na Oracle 11g
-
Windows Server 2008 R2 x64 + SQL Server 2008 R2 x64 ODBC linkovaný server na Oracle 11g
-
Windows Server 2008 R2 x64 + SQL Server 2008 R2 x64 linkovaný server na DB2
Tí, ktorí ma poznajú bližšie, vedia, že používam MacBook Pro s operačným systémom Mac OS X (už zopár dní vo verzii “Lion”
) a virtualizačnú platformu Parallels Desktop. A práve firma Parallels mi uľahčila prácu na tomto článku, nakoľko je možné z jej stránok si bezplatne stiahnuť virtuálny image s db Oracle Express 10gR2. Uvidíme, ako pochodím pri Oracle 11g, prípadne DB2 …
Včera na seminári SQL Server v oblakoch som mal možnosť prezentovať niektoré spôsoby migrácie dát z SQL Servera do SQL Azure. Prezentáciu z tohto seminára si môžete stiahnuť odtiaľto.
V januári 2011 som v spolupráci so školiacim strediskom CIT v Bratislave prezentoval pripravované novinky SQL Server 11, ktorý je známy aj pod kódovým menom “Denali”. S potešením môžem oznámiť, že rovnakú tému budem mať možnosť prezentovať na stretnutí WUG v Košiciach dňa 24.5.2011. Všetci záujemcovia z východu našej republiky, ktorí majú záujem o danú tému, sa môžu registrovať na stránkach WUG-u tu a pre ostatných, ktorí sa nemôžu zúčastniť osobne, je pripravená on-line linka http://videoserver.cnl.tuke.sk/wuglive.
Plánovaný program:
-
HADRON - High Availability Disaster Recovery Always On - zrejme jedna z najväčších architektonickych zmien v SQL Server 11.
-
Nový koncept administrácie - contained databázy a ďalšie novinky v oblasti SSMS, Powershell, Startup options.
-
SEQUENCE, ad-hoc query paging, novinky vo Fulltext, metadata discovery.
-
Nove oprávnenia, správa rolí, prístup na SQL prostredníctvom contained databáz.
-
SSIS - nový deployment model, SSIS project parameters, catalog architecture.
Teším sa na stretnutie !
BSP organizuje seminár na tému Microsoft SQL Server v oblakoch a pri tejto príležitosti budem mať možnosť prezentovať spôsoby migrácie dát do SQL Azure. Seminár sa koná vo štvrtok 12.5.2011 od 13:00-17:00 v nových priestoroch spoločnosti BSP, K Železnej studienke 27 v Bratislave a moja prezentácia má názov “Bezpečná migrácia dát do oblakov”.
Na seminár je potrebné sa zaregistrovať tu a podrobnejšie informácie o seminári nájdete tu.
Posledný januárový piatok som mal možnosť pri príležitosti nadviazania spolupráce medzi Solid Quality Mentors a CIT v Bratislave prezentovať novinky v chystanej verzii SQL Server 11 CTP 1, ktorá je známa pod kódovým označením "Denali" a je voľne dostupná na stiahnutie z adresy Microsoft SQL Server "Denali" CTP 1.
Počas prezentácie sme diskutovali o viacerých otázkach, ktoré zazneli z publika, a chcel by som využiť túto formu na zodpovedanie, resp. doplnenie niektorých z nich.
V prvej časti prezentácie sme sa zaoberali novinkami v oblasti relačného enginu:
V tejto časti sme prezentovali novinky v SQL Server Management Studi-u, ako sú
-
nové vlastnosti T-SQL debuggeru (podporuje aj SQL Server 2005 SP2, technológiu Intellisense)
-
podpora viacerých monitorov
-
využívanie platformy Visual Studio 2010
-
podpora snippets/surrounds (s možnosťou pridávania vlastného kódu).
V tejto súvislosti zaznela s publika otázka:
Q: Podporuje T-SQL debugger podmienečné breakpoint-y ?
A: Stručná odpoveď je – áno. Podrobnejší popis práce s podmienečnými breakpoint-ami je možné nájsť na blogu SQL Server Manageability Team-u.
Najzaujímavejšou časťou prezentácie (aspoň podľa mňa
) bolo živé demo novej High Availability/Disaster Recovery technológie – HADR, alebo ako ho niektorí nazývajú HADRON (podľa prídavku Always ON). Táto technológia umožňuje využívať až 4 sekundárne inštancie (s prístupom na čítanie) databáz s požadovanou dostupnosťou. (pričom CTP1 verzia zatiaľ podporuje iba 1 sekundárnu inštanciu). Tieto inštancie sú replikované synchrónne alebo asynchrónne (tak ako pri Database Mirroring). Pri príprave tejto ukážky som objavil (a následne odprezentoval) nasledovné správanie:
Na primárnej strane (inštancia DENALI1) spustíme skript, ktorým pomocou príkazu SELECT INTO vytvoríme novú tabuľku:


Daná tabuľka na primárnej strane skutočne existuje.
Ak sa však pozrieme na sekundárnu stranu (DENALI2), kde očakávame replikovanie novovytvorenej tabuľky, dostaneme nasledovný výsledok:

V tomto momente sa najpravdepodobnejšou príčinou zdalo byť chyba pri implementácii synchronizácie tzv. minimally logged operácií, akou je aj príkaz SELECT * INTO… . Vyskúšali sme teda nahradiť príkaz SELECT * INTO … príkazom INSERT … s nasledovným výsledkom (nakoľko tabuľka ale obsahuje stĺpec s identity, bolo potrebné nastaviť IDENTITY_INSERT na hodnotu ON… ):


Summary:
Problémom sa v tomto momente zdá byť implementácia príkazu SELECT * INTO … Pri príkaze INSERT … do už vytvorenej tabuľky sa táto chyba neprejavuje, rovnako ako pri klasickom databaze mirroring-u, kde oba spôsoby napĺňania tabuliek pracujú správne.
Možno by bolo zaujímavé zistiť, ako sa správa minimally logged INSERT príkaz… Nájdem si čas a spravím dodatočné testovanie, dám vedieť výsledok.
V časti venovanej hlavne programátorom sme prezentovali a diskutovali nové vlastnosti temporárnych tabuliek, ad-hoc query paging, SEQUENCE, THROW a nový typ databáz – tzv. CONTAINED databázy.
CONTAINED databáza je databáza, ktorá obsahuje všetky potrebné nastavenia a metadáta potrebné na to, aby daná databáza bola konfiguračne nezávislá na danej inštancii SQL Servera. V praxi to potom umožňuje jednoduchú migráciu danej aplikačnej databázy z jednej inštancie SQL na druhú inštanciu bez potreby dodatočnej konfigurácie cieľovej inštancie (ako sú napr. užívatelia s heslami a pod.)
Otázka z publika:
Q: Bude prihlasovanie užívateľov rýchlejšie v prípade CONTAINED databáz ako v prípade klasických ?
A: Stručná odpoveď – predpokladám, že áno, a to v prípade zadania všetkých potrebných údajov, ako je napr. userid, password a databáza (uvádzaná v connection stringu). Dôvodom je autentikácia užívateľa iba samotnou databázou a vynechanie autentikácie na úrovni SQL Server inštancie (v prípade SQL Server užívateľov). Autorizovaní Windows užívatelia môžu pristupovať priamo do databázy bez potreby mať definovaný LOGIN v master databáze.
Druhá podstatná novinka v SQL Server 11 podstatne vylepšuje výkonnosť servera, hlavne pri datawarehousových aplikáciach. Viacej informácii je publikovaných v dokumente Columnstore Indexes for Fast Datawarehouse Query Processing in SQL Server 11.0.
V oblasti bezpečnosti môžeme očakávať pridanie oprávnenia Search Property List vo Fulltext, vytváranie užívateľských serverovských rolí a podporu algoritmov SHA2_256 a SHA2_512 vo funkcii HASHBYTES.
V ďalšej časti sme sa zamerali na novú verziu SSIS:
Nakoľko CTP1 verzia nebsahuje novú verziu Analysis Services (bude dostupná v niektorej z ďalších CTP), diskutovali sme o nových informáciach, dostupných od konferencie PASS Summit 2010:
"Nech sa disky všetkých SQL Serverov večne točia !"
Pri príležitosti otvorenia konferencie PASS SUMMIT 2010 bola dnes uvoľnená testovacia verzia SQL Server 11 pod kódovým názvom “Denali”. Jedná sa však zatiaľ o tzv. Community Technology Preview 1. Čo je najzaujímavejšie v tejto verzii ?
-
SQL Server AlwaysOn – multisite clustering, podpora viacerých sekundárnych serverov pri high availability riešeniach, zjednodušenie administrácie high availability – to všetko sa zmestí pod magický pojem HADRON – High Availability Disaster Recovery Options
-
Distributed Replay Utility – stress testing nástroj
- Column-based query accelerator sľubuje až 10-násobné zrýchlenie queries
SQL Server Denali CTP 1 môžete sťahovať z adresy http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6a04f16f-f6be-4f92-9c92-f7e5677d91f9&displaylang=en
Tak a máme tu dlhoočakávaný Service Pack 2 pre MS SQL Server 2008. Medzi najvýznamnejšie novinky patria:
-
rozšírenie max. počtu partícii z 1000 na 15 000
-
SQL Server Utility – po aplikovaní SP2 je možné SQL Server 2008 inštanciu riadiť a monitorovať prostredníctvom SQL Server Utility
-
Data-Tier Applications – po aplikovaní SP2 je možné nasadzovať, registrovať, extrahovať a mazať DAC z inštancie SQL Server 2008.
-
Reporting Services v integrovanom režime SharePoint – SQL Server 2008 SP2 Report servre je teraz možné integrovať so servermi SharePoint 2010
Úplné detaily o všetkých novinkách SP2 nájdete na adrese Microsoft SQL Server 2008 SP2 Release notes a samotný Service Pack môžete stiahnuť z nasledovných adries:
V 10 kapitolách autori tejto knihy (Ross Mistry a Stacia Misner) predstavujú novinky SQL Server 2008 R2 v nasledovných oblastiach:
Administrácia databáz
-
Multiserver administration
-
Data-Tier Applications
-
High Availability and Virtualization Enhancements
-
Consolidations and Monitoring
Business Intelligence
-
Škálovateľný DataWarehouse (SQL Server 2008 R2 Parallel Datawarehouse)
-
Master Data Services
-
Complex Event Processing (StreamInsight)
-
Reporting Services Enhancements
-
Self-service BI (PowerPivot)
Knihu si môžete voľne stiahnuť z adresy Introducing Microsoft SQL Server 2008 R2.
A máme tu augustové vydanie voľného elektronického časopisu – SolidQ Journal August 2010.
Z obsahu odporúčam:
- SharePoint 2010 for the DBA – Gilberto Zampatti
- The Road to NoWhere – Davide Mauri
- Restore with PowerShell I. – Herbert Albert, Gianluca Hotz
- … a mnohé ďalšie
Augustové vydanie SolidQ Journal – August 2010 si môžete stiahnuť z adresy http://www.solidq.com/sqj/Documents/2010%20August%20Issue/SQJ%20002.pdf.
Happy Reading !
Dnes Microsoft uvoľnil ďalší y voľne dostupných webcastov zo série eLearning na tému SQL Server 2008 R2":
- eClinic 10528AE: Introduction to Virtualization of Microsoft® SQL Server® 2008 R2
- Planning a Virtualization Strategy for SQL Server.
- Designing a Virtualization Platform Infrastructure for SQL Server.
- Designing a High-Availability Strategy for SQL Server Virtualization.
- Designing a Virtualization Infrastructure Management Strategy.
Webcast je dostupný na stiahnutie alebo na poyretie z adresy http://www.microsoft.com/learning/elearning/course/10528ae.mspx.
Autorom aj tohto free webcastu je môj kolega zo Solid Quality Mentors Greg Low – vďaka, Greg !
V dnešnej dobe zdieľania informácií prostredníctvom blogov a sociálnych sietí sa môže zdať, že vznik elektronického časopisu nie je ten najlepší spôsob zdieľania informácií. Každopádne v Solid Quality Mentors si to nemyslia a je tu prvé vydanie voľného elektronického časopisu zameraného na MS SQL Server a Business Intelligence riešenia - SolidQ Journal.
V júlovom vydaní ma zaujal excelentný rozhovor s Markom Souzom, lídrom SQL Server Customer Advisory Team (SQLCAT) o jeho každodennom premýšľaní o spôsobe ako zlepšiť SQL Server, kurióznych zážitkoch s niektorými zákazníkmi a partnermi, a o najväčších implementáciach SQL Server vo svete. Odporúčam !
Z ďalšieho zaujímavého obsahu vyberám:
-
The Blueprint for Proper SSAS dimensions – Craig Utley
-
Should SQL Server automatically Index Foreign Key Constraints ? – Greg Low
-
Hammers, Nails and PowerShell – Gianluca Hotz a Herbert Albert
Celý obsah júlového vydania si môžete stiahnuť z adresy http://www.solidq.com/sqj/Documents/SQJ%20001.pdf.
Happy reading !
PivotViewer je Silverlight Control, pomocou ktorého môžeme tvoriť dynamické vizualizácie BI dát.
PivotViewer je vo verzii CTP1 a môžete si ho stiahnuť z adresy http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d31f609d-a353-41ad-a1a4-f81456e3a6c4.
Ďalšie informácie nájdete na blogu Cristiana Petculescua, kde nájdete okrem nasledujúceho videa o inštalácii PivotVewer aj ďalšie video demoštrujúce možnosti použitia v praxi …
Viac príspevkov
Ďalšia stránka »