HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

MySQL szerverek elérése Delphi-ből


MySQL 3. rész

Példaprogram letöltése

3881 bájt

Legutóbbi részben egy nem túl kényelmes, de ízig-vérig "programozós" módszerrel értük el a MySQL szervereken tárolt adatokat. Ma, korunk elvárásainak sokkal inkább megfelelő megoldással foglalkozunk az ODBC meghajtók használatával. Immár csatasorba állíthatjuk a Delphi adatbázis komponenseit és gyakorlatilag egyetlen programsor megírása nélkül készíthetünk adatbázis kezelő alkalmazásokat.

Cikkünkhöz mellékeltünk egy példát a MySQL kiszolgálón szereplő "mysql" nevű tábla elérésére. Használata előtt fontos, hogy az alábbiak szerint állítsuk be az ODBC kapcsolatot.
Az ODBC iránti igény a MySQL Windows-os implementációja után alakult ki. Egyéb támogatás hiányában ez jelentette a leginkább kedvelt és legszélesebb körben alkalmazható megoldást. Nem kifejezetten Delphi-s támogatásról van szó, hanem egy általános meghajtó programról (ODBC - Open Database Connectivity), mely beépül a Windows-ba és programok illetve szkriptek számára biztosítja az adatbázis motort. Elterjedtségére jellemző, hogy Linuxos verziók is készültek, melyekkel Windows adatbázisok érhetők el Linuxos programokból.
Alapvető feltételek
Elsőként be kell szereznünk egy ODBC meghajtót a www.mysql.com címről. A termék folyamatos fejlesztés alatt áll és két lehetőségünk van: vagy egy korábbi stabil verziót vagy egy újabb, de még fejlesztés alatt állót töltünk le. Nagyon fontos, hogy a Windows 9x sorozaté nem egyezik meg a Windows NT/2000/XP-vel, erre oda kell figyelni. Mérete kb. 1,5 MB.
Telepítés
Letöltés után következik a telepítés, ami angol nyelven zajlik és néhány másodperc alatt végezhetünk vele. A magyar verzió hiánya nem befolyásolja az adatbázis kezelést. Egy valamire kell csak figyelni, hogy az "Install Drivers" oldal "Available ODBC Drivers" listájában válasszuk ki a "MySQL" bejegyzést és csak utána kattintsunk az "OK" gombra, különben nem zajlik le a telepítése. A többi helyen fogadjuk el a felkínált lehetőségeket. Ha végeztünk keressük meg a Vezérlőpult > Felügyeleti eszközök > Adatforrások (ODBC) (Control Panel > Administrative Tools > Datasources (ODBC)) helyet.


Nyissuk meg és a "Felhasználói DSN" ("User DSN") oldalon kell látnunk egy meglévő adatbázis kapcsolatot "sample-MySQL" néven. Használhatjuk ezt is, de hozhatunk létre újat is.


Új adatbázis kapcsolat kialakítása
Kattintsunk a "Hozzáadás" ("Add") gombra, majd válasszuk ki a listából a "MySQL" bejegyzést és kattintsunk a "Befejezés" ("Finish") gombra.
Megjelenik egy angol nyelvű beállító ablak (ugyanezzel az ablakkal találkozunk, ha a "Felhasználói DSN" ("User DSN") oldalon a "Beállítás" ("Configure") gombra kattintunk. A kapcsolat kialakításához szükséges legalapvetőbb paraméterek a következők:


  • "Windows DSN name" = kapcsolat neve
  • "MySQL host (name or IP)" = a MySQL kiszolgáló neve vagy IP címe
  • "MySQL database name" = azon adatbázis neve, melyhez kapcsolódni akarunk
  • "User" = az adatbázis elérésére jogosult felhasználói név (a MySQL rendszergazda állítja be)
  • "Password" = az előző névhez tartozó jelszó.
Ennyi adatra tehát minimum szükség van, de megadható a kommunikációs port száma is, amennyiben eltér az alapértelmezett 3306-tól és minden kapcsolat létrejötte után futtathatunk egy SQL parancsot, amit az "SQL command on connect" mezőbe kell beírni. Ezenkívül számos egyéb beállítás is elérhető az "Options that affects the behaviour of MyODBC" szekció jelölőnégyzeteinek használatával.
Adatbázis komponensek használata
Ha a fenti előkészületekkel végeztünk, elővehetjük a Delphi-t. Az alábbi példáinkban a MySQL-hez mellékelt "mysql" nevű mintaadatbázissal teremtünk kapcsolatot úgy, hogy a DSN név: "Delphi Software Online".
Helyezzünk el egy Form-on egy Datasource és egy Table komponenst. Előbbi "Dataset" tulajdonsága mutasson a Table-re. Majd gördítsük le a Table komponens "DatabaseName" menüjét, itt láthatjuk az ODBC kapcsolat elemeket. Keressük ki a "Delphi Software Online" aliast és kattintsunk rá. Ekkor aktivizálható a "TableName" tulajdonság, válasszuk ki a "db" táblát. Ha nem találjuk, rosszul van konfigurálva az ODBC. A hibák leggyakoribb oka a helytelenül megadott felhasználói név. Ezen a ponton tegyünk egy kis kitérőt:
Tegyük fel, hogy a MySQL-ben van egy "root" felhasználó, aki korlátozás nélkül hozzáférhet az összes adatbázishoz. Az ODBC konfigurálása során beírjuk a felhasználói név mezőbe a "root" nevet és megadjuk a hozzá tartozó jelszót. Igen ám, de a Windows - MySQL között "felhasználói név@gépnév.tartománynév" formában kerül elküldésre és a MySQL kiszolgálót ennek megfelelően kell konfigurálni, különben nem engedélyezi a hozzáférést. Szintén a fenti www.mysql.com címről lehet letölteni néhány segédalkalmazást (pl.: MyCC), melyekkel az ilyen irányú műveletek kényelmesen elvégezhetők.
Következő lépésben állítsuk az "Active" tulajdonságot "True"-ra. Most már van adatbázis kapcsolatunk. Helyezzünk el a Form-on egy DBGrid komponenst, melynek a "DataSource" tulajdonsága mutasson az előbbi DataSource komponensre. Megjelennek a "db" tábla adatai. Futtassuk a programot és tetszés szerint szerkeszthetjük az adatokat a DBGrid lehetőségeinek megfelelően. Talán nem a legjobb választás a "mysql" adatbázis, mert rendelkezik néhány tulajdonsággal (pl.: kötelező egyes mezők kitöltése), amik megnehezítik a próbálgatásokat.
MySQL konfigurációtól függ, hogy az adatbázisok elérésénél megjelenik-e a felhasználói nevet és jelszót kérő ablak. Előfordulhat, hogy minden programfuttatás alkalmával felbukkan, lassítva a munkát. Ha a helyi biztonsági körülmények lehetővé teszik (pl. nem tárolunk fontos adatokat vagy csak tesztelünk), akkor automatizálhatjuk a bejelentkezést. Ehhez helyezzünk el egy Database komponenst a Form-unkon és állítsuk be az "AliasName" legördülő menüben a "Delphi Software Online" értéket. Írjuk be a "DatabaseName" mezőbe: "Database1" (írhatunk mást is).


Ezután a "Params" TString-be írjuk be a bejelentkezési nevet és jelszót a következő formában:
user name=név
passwod=jelszó
A "LoginPrompt"-ot állítsuk "False"-ra a "Connected"-et, pedig "True"-ra. Így a Database komponens elvégzi helyettünk a bejelentkezést. Még annyit meg kell tenni, hogy a Table komponens "DatabaseName" tulajdonságát átállítjuk "Database1"-re, majd az időközben lekapcsolódó "Active"-t "True"-ra.
A fent leírtak alapján az összes Delphi adatbázis kezelő komponens használható a MySQL adatbázisok elérésénél, függetlenül attól, hogy a kiszolgáló például egy Linux szerveren fut. Szintén változatlan formában használhatók az egyéb adatbázis parancsok, tulajdonságok (pl.: FieldByName, Filter, stb.). Egy dolgot kell csak figyelembe venni: programjainknak mindig alkalmazkodni kell a MySQL által ismert adattípusokhoz. Részletes leírást találunk a MANUAL.HTML fájlban, amit az adatbázis kiszolgálóhoz kapunk vagy letölthetünk az Internetről.
A következő részben a Delphi ez ideig egyetlen MySQL támogatásáról írunk.

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 485. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |