340 likes | 467 Views
Az SQL 16. ODBC (Open Database Connectivity). A rádiótelefonokat kérem KIKAPCSOLNI!. Olvasnivaló. Oracle gyári dokumentáció: Heterogeneous Connectivity Administrator's Guide JDBC Developer's Guide and Reference Internet: Wikipédia MSDN (Microsoft Developer Network). Mi az ODBC.
E N D
Az SQL 16. ODBC (Open Database Connectivity) Markó Tamás, PTE TTK
A rádiótelefonokat kérem KIKAPCSOLNI! Markó Tamás, PTE TTK
Olvasnivaló • Oracle gyári dokumentáció: • Heterogeneous Connectivity Administrator's Guide • JDBC Developer's Guide and Reference • Internet: • Wikipédia • MSDN (Microsoft Developer Network) Markó Tamás, PTE TTK
Mi az ODBC Markó Tamás, PTE TTK
Open Database Connectivity • API (Application Programming Interface) • „Database Connectivity”: adatbázisok elérésére szolgál • „Open”: független több tényezőtől is • az adatbáziskezelő programtól • az alkalmazás programozási nyelvétől • az operációs rendszertől • leginkább a Windowson elterjedt Markó Tamás, PTE TTK
A támogatott operációs rendszerek • Microsoft Windows • Unix (AIX, Solaris, HP-UX, …) • Linux • OS/2 • Mac OS • OpenVMS • … Markó Tamás, PTE TTK
A támogatott adatbáziskezelők • Oracle • DB2 • Microsoft SQL Server • Sybase • MySQL • PostgreSQL • FileMaker • Microsft Access • … Markó Tamás, PTE TTK
Több megvalósítása is van • Microsoft ODBC: jelenleg minden Windowsnak része • iODBC: nyílt forráskódú, általában Windowstól eltérő rendszerekre • UnixODBC: a legnépszerűbb driver-manager Windowstól eltérő rendszerekre • sok nagy gyártó (az Oracle is) erre alapozza saját drivereit Markó Tamás, PTE TTK
Az ODBC története Markó Tamás, PTE TTK
Az egységesítés igénye • Kezdetben egy cégnek egy számítógépe volt egy adatbázissal • Új alkalmazások bevezetésével a rendszer egyre heterogénebb lett • A hálózatok és a PC-k elterjedésével • az adatok szétszórva léteznek • változatos eszközökkel dolgozzák fel őket • az alkalmazások fejlesztőinek sokféle forrás elérésére kell felkészülni Markó Tamás, PTE TTK
Gyökerek • Programozástechnikai előzménye a hagyományos programozási nyelvekbe ágyazott SQL volt • Az 1980-as évek végétől dolgoztak ehelyett megfelelő szubrutinkönyvtár kialakításán • Az ODBC több szervezet specifikációjára támaszkodik • SQL Access Group • X/Open • ISO/IEC Markó Tamás, PTE TTK
X/Open SQL Access Group ANSI ISO Microsoft Digital Sybase IBM Novell Oracle Lotus stb Résztvevők a tervezésben Markó Tamás, PTE TTK
Fontos verziók • Első tényleges megvalósítás a Microsoftnál(ODBC 1.0, 1992 szeptember) • ODBC 2.0 (1994, kisebb módosítások) • ODBC 3.0 (1995, sok bővítés bevezetése) • ODBC 3.5 (1997, Unicode használata) Markó Tamás, PTE TTK
Moduláris felépítés Markó Tamás, PTE TTK
Az alapelv ODBC adatforrás- definíciók adat- forrás adatbázis- driver alkalmazás ODBC driver manager alkalmazás adat- forrás adatbázis- driver alkalmazás általános adatbázis-specifikus SQL utasítások Markó Tamás, PTE TTK
Az alkalmazás • Egységes ODBC-függvényeket hív • Kiválaszt egy adatforrást és kapcsolódik hozzá • SQL utasításokat küld végrehajtásra • Fogadja az utasítások eredményét • Kezeli a hibákat • A módosításokat véglegesíti vagy visszagörgeti • Leválik az adatforrásról Markó Tamás, PTE TTK
Az ODBC Manager (Driver Manager) • Egységes hívási felületet biztosít az összes driverhez • Betölti a szükséges drivereket • Elemi ellenőrzéseket végez a beérkező hívásokon • A hivásokat feldolgozza vagy továbbadja a megfelelő drivernek Markó Tamás, PTE TTK
A driver • Csak adott adatforráshoz használható • Kapcsolódik az adatbázishoz és leválik róla • Ellenőrzi a beérkező hívások helyességét • Tranzakciókat nyit • SQL utasításokat küld az adatbázisba • ehhez gyakran át kell alakítania a beérkező hívásokat • Adatokat küld az adatbázisba és adatokat fogad onnan • ehhez gyakran adattípus-konverzió is társul • Az adatbáziskezelő hibaüzeneteit megfelelő ODBC-állapotokká alakítja Markó Tamás, PTE TTK
Nem SQL-alapú adatforrások elérése • A driver nem küldhet SQL utasítást • Közvetlenül éri el az adatokat • A driver tulajdonképpen adatbáziskezelőként is viselkedik (értelmezi az SQL-t) Markó Tamás, PTE TTK
ODBC-modellek • Többféle van aszerint, hogy hány rétegen keresztül lehet magukat az adatokat elérni • A legáltalánosabbak: • egyrétegű • kétrétegű • háromrétegű Markó Tamás, PTE TTK
Az egyrétegű modell Alkalmazás meghív egy ODBC függvényt ODBC Manager eldönti a teendőket ODBC Driver elvégzi a feldolgozást adatfájl a driver maga dolgozza fel a fájlt Markó Tamás, PTE TTK
A kétrétegű modell kliens Alkalmazás meghív egy ODBC függvényt ODBC Manager eldönti a teendőket ODBC Driver átalakítja és továbbadja a kérést adatbázis- kezelő elvégzi a feldolgozást adatok szerver Markó Tamás, PTE TTK
kliens A háromrétegű modell Alkalmazás meghív egy ODBC függvényt ODBC Manager eldönti a teendőket ODBC Driver átalakítja és továbbadja a kérést átalakítja és továbbadja a kérést (pl. kezelhet több adatforrást) ODBC Mgr/Drv gateway adatbázis- kezelő elvégzi a feldolgozást adatok szerver Markó Tamás, PTE TTK
ODBC-t használó alkalmazások fejlesztése Markó Tamás, PTE TTK
Az alkalmazás általános menete Initialize Execute Connect ha az utasítás Select Insert Update Delete más Fetch result Fetch row cnt Disconnect Transact
Az egyes lépések lényege • Connect: kapcsolódás az adatbázishoz • Initialize: kezdeti beállítások • Execute: az SQL utasítás felépítése és végrehajtása • Fetch results: a SELECT utasítás eredményének átvétele • Fetch row count: INSERT / UPDATE / DELETE esetén az érintett sorok számának lekérdezése • Transact: a tranzakció lezárása • Disconnect: a kapcsolat bontása mindegyik lépésben több függvényt is meg kell hívni Markó Tamás, PTE TTK
Az ODBC adminisztrálása Windows XP alatt Markó Tamás, PTE TTK
ODBC Administrator • ODBCAD32.EXE • Vezérlőpult / Felügyeleti eszközök / ODBC adatforrások • Szerepe: • driverek hozzáadása és eltávolítása • adatforrások definiálása Markó Tamás, PTE TTK
ODBC Data Source • DSN: Data Source Name • Adatforrás: • egy driver egy példánya • az adott forrás eléréséhez szükséges adatok • Általában megadandó • az adatokat tartalmazó szerver neve • a használandó hálózati protokoll • login-név • jelszó Markó Tamás, PTE TTK
Adatforrás-típusok • Felhasználói DSN:az adott felhasználó számára (konkrét munkaállomástól függetlenül) elérhető • Rendszer-DSN:az adott gépen minden felhasználó számára elérhető • Fájl-DSN:megosztható és gépek között másolható Markó Tamás, PTE TTK
Az ODBC értékelése Markó Tamás, PTE TTK
Jelentőség • A legelterjedtebb nyitott adatelérési lehetőség • Nagyjából minden PC-s alkalmazás tud ODBC-adatforrást használni Markó Tamás, PTE TTK
Előnyök • Az alkalmazás kódja független az adatforrás típusától • Sokféle adatforráshoz van hozzá driver • több száz driver • számolótáblák is elérhetők • Sokféle operációs rendszer alatt működik • Olyan szolgáltatásokat is definiál, ami nem érthető el az összes adatforrásnál Markó Tamás, PTE TTK
Hátrányok • Bonyolult a programozói interfész használata • Nehézkes (vagy lehetetlen) az adatbáziskezelő speciális lehetőségeinek kihasználása • A réteges szerkezet késleltetést jelent • nem jelentős a hálózat késleltetése mellett • A sokfajta driver adminisztrálása gondot okozhat Markó Tamás, PTE TTK