Oracle Adatbázisok kezelése c#-ban Tippek/Trükkök Csatolók használata Adatcsere saját típusokon keresztül Virág Tamás 2018.12.27. 1.
Általános felépítés Fogalmak: Adatbázis kapcsolat: Kommunikációs csatorna, amely lehetővé teszi a kliens program számára a kommunikációt az adatbázis szerverrel. Ezen keresztül ad ki parancsokat a kliens és fogadja a szerver válaszait. Adatbázis csatoló: Szoftver, ami lehetővé teszi az adatbázis kapcsolat létrehozását. Adatbázis API: Alap szintű programozói felület, mely egységes kommunikációt teremt az alkalmazás és az adatbázis között. .Net Wrapper: Magas szintű programozó felület, mely az adatbázis API köré épül és lehetővé teszi, az adatbázis elérését menedzselt kódból. Virág Tamás 2018.12.27.
Adatbázis-csatolók I. Gyártó-specifikus csatolók: A gyártó által az adott nyelvhez készített csatolók. Előnye, hogy optimalizálva van az adatbázishoz. Hátránya, hogy adatbázis függővé teszi a programot, ezért másik gyártó adatbázisával a program használhatatlan lesz. PL.: ODP.NET, Microsoft .NET provider for Oracle … Szabványos csatolók: A gyártó által adott platformhoz készített csatolók. Előnye, hogy a program „jó eséllyel” használható a szabványt támogató adatbázisokkal. Hátránya, hogy a köztes réteg és a szabványos megoldások miatt néhol lassabb és kötötteb. PL.: ODBC, JDBC … Virág Tamás 2018.12.27.
A csatoló telepítése Amikkel érdemes tisztában lenni: Az adatbázis verziószáma Az adatbázis platform (x86/x64): x64-es adatbázishoz lehet 32 és 64 bites csatolót is használni Kétféle telepítő verzió létezik: X32 Universal Installer: lassú, grafikus telepítő, Visual Studio integrációval. x32 és x64 Xcopy: gyors telepítés parancssorból A csatoló letöltése: Oracle Data Access Components Virág Tamás 2018.12.27.
ODBC - Open DataBase Connectivity(Microsoft Corporation ) Lehetővé teszi bármely adat elérését bármely alkalmazásból, függetlenül attól, hogy milyen adatbázis kezelő rendszer kezeli az adatokat. Közbülső réteget képez az adatbázis és az alkalmazás között. Ezen réteg feladata az, hogy az alkalmazás kéréseit úgy alakítsa át, hogy az adatbázis kezelő azt megértse. Az alkalmazásnak és az adatbázis kezelőnek is ODBC kompatibilisnek kell lennie. Virág Tamás 2018.12.27.
ODBC HASZNÁLATA I. Az ODBC adatforrásokra egy névvel lehet hivatkozni DSN: Data Source Name DSN-t létrehozni a Vezérlőpult\Felügyeleti Eszközök\ODBC adatforrások ablakban lehet. Lehet felhasználóhoz, illetve az egész rendszerhez kötődő DSN-t megadni. Virág Tamás 2018.12.27.
ODBC HASZNÁLATA II. A következő lépés az ODBC kapcsolat konfigurációja. Meg kell adni: A kívánt DSN nevet. Az szolgáltatás nevét. Ez a TNSNAMES.ORA fájlban meg van adva. A felhasználó nevet, amelyhez a kapcsolatot rendeljejük. Virág Tamás 2018.12.27.
ODBC használata III. Fontosabb objektumok OdbcCommand SQL utasítás, vagy tárolt eljárás, ami futtatható az adatforráson. OdbcConnection Kapcsolat az adatforráshoz. OdbcDataReader Csak elölről-hátra olvasható stream az adatforrás soraihoz. OdbcException Az adatforrás hibaüzenetei. OdbcParameter OdbcCommand objektum paramétere. OdbcPermission A felhasználó adatforráshoz való jogai. OdbcTransaction Tranzakciókezelés. Virág Tamás 2018.12.27.
ODBC példa Egyszerű Töltsünk be egyszerű INSERT Utasítással tetszőleges számú rekordot mérjük a sebességet. Teszteljük a program futását másik adatbázison (MySQL) A példa leírása a forráskódban van. Virág Tamás 2018.12.27.
ODP.NET Oracle fejlesztés Az Oracle Data Access Components csomag része. Létezik .NET 2.0 és 4.0 alá is. Virág Tamás 2018.12.27.
ODP.NET használata Fontosabb objektumok OracleCommand SQL utasítás, vagy tárolt eljárás, ami futtatható az adatforráson. OracleConnection Kapcsolat az adatforráshoz. OracleDataReader Csak elölről-hátra olvasható stream az adatforrás soraihoz. OracleException Az adatforrás hibaüzenetei. OracleParameter OdbcCommand objektum paramétere. OracleTransaction Tranzakciókezelés. Virág Tamás 2018.12.27.
ODP.Net példA I. 1. példa: Töltsünk be képeket egy adattáblába és olvassuk ki azokat. A példa lényege: a paraméterek átadásának módja a OracleCommand objektum számára. LOB-ok használata. Virág Tamás 2018.12.27.
ODP.Net példA II. 2. példa: Az ODBC-nél használt betöltési sebességet mérő program átírása ODP.NET alá. A példa lényege: Saját tiípusok átadása paraméterként az OracleCommand objektumnak (Típus feltérképezés) Ömlesztett adatbetöltés PL/SQL segítségével. Az adatokat egy csomagban juttatjuk el az adatbázisnak, majd ezt a csomagot a PL/SQL motorral illesztjük a táblákba Jelentős teljesítmény növekedés BULK COLLECT – Gyors lekérdezés táblából gyűjtő objektumokba. TABLE CAST – Gyűjtő objektumok táblává konvertálása. Virág Tamás 2018.12.27.
VégE Virág Tamás 2018.12.27.