DELPHI vs. MySQL

ODSKÚŠANÝ NÁVOD NA PRIAME SPOJENIE DELPHI S MySQL DATABÁZOU, RESPEKTÍVE NA ZABUDOVANIE MySQL SERVRA PRIAMO DO DELPHI APLIKÁCIE


Rozhodol som sa uverejnit tento návod, pretože som potreboval komunikovať s MySQL databázou priamo z mojej aplikácie naprogramovanej v DELPHI, resektíve, chcel som vyvinúť aplikáciu, ktorá by nevyžadovala mať nainštalovaný žiadny DB server na PC, ale sama by ho obsahovala. Rozhodol som sa pre MySQL a myslím že nemusím vysvetľovať prečo. Na prvý pohľad to vyzeralo jednoducho. V manuáli MySQL som si našiel syntax jednotlivých funkcií MySQL API. Na internete som si našiel knižnicu mysql.pas, čo je vlastne mysql.h prepísaný pre použitie v DELPHI. Stiahol som si libmysqld.dll - knižnicu pre "embedded mysql server" a začal testovať. Vtedy začali prvé problémy, ktoré sa síce dali očakávať, ale nemali konca, kraja. Hľadal som v diskusiách nejaké zmienky o podobných problémoch a aj som ich pár našiel, ale väčšinou som sa nedozvedel viac ako som vedel, alebo sa tieto diskusie končili v štádiu otvoreného problému. A pritom riešenie je také jednoduché. Tu je stručný návod:
  1. Ako prvé si musíte stiahnúť potrebné knižnice a tie nájdete v inštalácii MySQL servra (4 a vyššie). Je to vlastne súbor libmysqld.dll v adresári "/embedded/dll/release|debug" vo verzii release alebo debug. Alebo si ich stiahnete odomňa => libmysqld.dll (release) alebo libmysqld.dll (1) + (2) (debug).
  2. Druhý krok by mal spočívať v prispôsobení hlavičkového súboru mysql.h, ktorý taktiež obsahuje inštalácia MySQL servra, pre potreby DELPHI. Kedže toto je dosť pracné a vyžaduje si to dobré znalosti v DELPHI aj v C++, využil smo možnosti internetu a stiahol som si jedej upravený súborček: mysql.pas. Trošku som ho doplnil pre vyššiu verzie MySQL, keďže pôvodný bol dosť starý. Ak si chcete ušetriť čas, ponúkam vám na stiahnutie aj tento súbor vo verzii pre staticke natiahnutie knižnice, alebo pre dynamické. Upozorňujem že na WIN95 som mal s dynamickým naťahovaním problém avšak môže to byť problém s WIN95.
  3. Ďalej budete potrebovať súbor s chybovými hláškami errmsg.sys, ktorý sa znovu nachádza v inštalácii MySQL servra v adresári "/share/slovak", alebo si ho stiahnite tu.
  4. Posledným, avšak veľmi dôležitým krokom je vytvorenie súboru my.cnf v koreňovom adresári vášho systémového disku (asi C:). Súbor by mal vyzerať asi takto:
    
    		
    		.
    		.
    		# The MySQL embedded server
    		[embedded]
    		basedir = ./			#basedir aplikácie
    		datadir = ../common/data/	#cesta k adresáru s dátami MySQL databázy
    		language = ../common/slovak/	#cesta k adresáru s chybovými hláškami !! Veľmi dôležité !!
    		
    		skip-bdb		
    		skip-innodb
    		.
    		.
    
    		
    		
Teraz môžete začať využívať API funkcie popísané v manuáli MySQL podľa popisu.