Újdonságok 2010.10.27

Töröljük a Program Files qtContgen könyvtárából legalább a ccf kiterjesztésű állományokat, de törölhetjük az egész könyvtárat is.
Telepítsük az alkalmazást a qtContgen-2.2.0-install.exe windows telepítővel.
Készítsünk egy mentést az adatbázisainkról a mysql administrator segítségével.
Indítsuk el a programot és lépjünk be root-ként.
Aktualizáljuk az adatbázisokat a Konfig - adatbázisok kezelése - összes adatbázis aktualizálása gombbal (két torony és egy felfelé nyíl van rajta).
Máris használhatjuk az új változatot.

Az alkalmazás most a qt 4.7.0-s változatával van lefordítva. Emiatt a windows telepítő több dll-t tartalmaz, kb. kétszeresére nőtt a mérete.
A forássból kivettem a lefordított plugin könyvtárakat. Ezért most leírom, hogyan lehet őket létrehozni, valamint, hogy mi szükséges az alkalmazás lefordításához windows és linux alatt, és persze mi kell a windows telepítő létrehozásához.

Windows

Linux

Újdonságok

Legelőször is megjegyezném, hogy az itt leírtak csak a mysql 5.1-es szerver alkalmazása esetén működnek. Ezért mentsük el az adatainkat a msyql adminisztrátor segítségével, telepítsük fel az 5.1-es szervert és töltsük vissza az adatainkat szintén a mysql adminisztrátor segítségével.

Ha újonnan telepítjük az alkalmazást és mysql szerver hozzáférésünk sincs, akkor a következő lépéseket kell megtegyük:

Telepítünk egy 5.1.x mysql szervert a gépünkre. Ez letölthető a www.mysql.com oldalról. A szerver beállításánál a következőkre figyeljünk:

A detailed configuration-t válaszuk.

Ha csak egy gépünk van, ami a mysql szervert és az alkalmazást is futtatja, válaszuk a developer machine opciót.
Ha van külön szerver gépünk, de az más kiszolgálókat is futtat (file szerver, más sql szerver, pl Firebird) - választhatjuk a server machine opciót.
És végül, ha olyan szerencsések vagyunk, hogy van egy külön gépünk, amin csak a mysql szervert futtathatjuk, válasszuk a dedicated mysql server machine opciót.

Itt nagyon fontos, hogy az Enable Strict Mode NE legyen kiválasztva.

Válaszuk a középső opciót, ha az alkalmazásunkban szeretnénk ékezetes karaktereket használni.

És végül, adjunk meg egy jelszót a root felhasználónak.
Az Enable root access from remote machines opciót csak akkor jelöljük be, ha az adminisztrációs teendőket más gépről is el akarjuk tudni végezni, nem csak arról amelyiken a mysql szerver fut. Itt megjegyezném, hogy nem ajánlott az alkalmazást root-ként futtatni. Hozzunk létre egy felhasználót a napi munkához és csak az adminisztrativ teendők elvégzésére lépjünk be root-ként.

(Csak egy újdonságot szeretnék itt megemlíteni. Mivel egy átlag felhasználó elvárja egy alkalmazástól, hogy az a lehetőségekhez képest az elvégzendő feladat minden egyes részét megoldja, és nem szívesen akalmaz kiegészítő adminisztrációs programokat,- pláne nem parancssori alkalmazást - így én is beépítettem egy adatbázis adminisztrációs részt.)

Ha mindezzel kész vagyunk, telepíthetjük az alkalmazásunkat a qtContgen-2.2.0-beta3-install.exe futtatásával (vista és windows7 alatt Adminisztratív módban futtassuk a telepítőt).

Ezután a főmenüből elérhető a qtContgen.exe. Kimásolhatjuk az indító hivatkozást az asztalra, vagy a panelre.

Mikor először elindítjuk az alkalmazást, lépjünk be root-ként, adjuk meg a jelszót, a Detalii-ban adjuk meg a Host-nál annak a gépnek az ip címét amelyinek a mysql szerver fut és nyomjuk meg az OK gombot.

Megjelenik egy figyelmeztetés, hogy az alkalmazás nem találja a contgen adatbázist a szerveren, és megkérdezi, hogy létre akarjuk-e hozni. Kattintsunk a Yes gombra, és az alkalmazás létrehozza a contgen adatbázist, amely a program futtatásához szükséges adatokat tartalmazza.

Ha megjelent a contgen létrehozva üzenet, rátérhetünk az adatbázisok létrehozására. A zölt pluszra kattintva be kell írjuk a létrehozandó adatbázis nevét, és a cég nevét amely ehhez fog tartozni. Több adatbázist is létrehozhatunk itt.

Ezek után az alkalmazás telepítése be van fejezve, el lehet kezdeni a munkát.

FIGYELEM!, mivel ez csak egy beta változat - és nem csak ezért - feltétlenül mentsük el az adatbázisainkat a mysql administrator segítségével, mielőtt az aktualizálásokat elvégeznénk.

Abban az esetben, ha már vannak adatbázisaink, lépjünk be root-ként, és a Config - Management baze de date menüopciót választva elindíthatjuk az adatbázis kezelő ablakot. Itt baloldalt lent, van négy gomb. A plusszossal új adatbázis hozható létre - hasonlóan ahhoz amikor a belépő ablakból tettük ezt -, amelyiken felfelé nyíl van, azzal aktualizálhatjuk a listán kiválasztott adatbázist. Amelyiken két karikákból álló oszlop és egy felfelé nyíl van, az aktualizálja az összes adatbázist - beleértve a contgen adatbázist is -, a legalsó pedig a contgen adatbázis aktualizálását indítja el. Bármelyiket is választjuk, ha az adatbázis már aktualizálva van, kapunk egy üzenetet.

Még egy fontos dolog. Az aktualizálás után lépjünk ki az alkalmazásból és lépjünk be újra.

Az ablak jobb oldalán adhatjuk meg, hogy mely felhasználóknak van joguk a listán kiválasztott adatbázishoz való hozzáférésre. Ehhez először is létre kell hozzuk a felhasználót a Config - Management utilizatori menüpont alatt található dialógus ablakban. Ezután a plusszal hozzáadjuk az adatbázishoz a létrehozott felhasználót.

Régebbi dokumentum

Az alkalmazás kliens-szerver alapú és multiplatform. Ez egyrészt azt jelenti, hogy külön van választva az alkalmazás, amit a felhasználó lát – ez a kliens – és az adattárolás illetve feldolgozás, amit jelen esetben egy mysql szerver lát el – ez a szerver rész. Másrészt úgy a kliensalkalmazás mint a mysql szerver telepíthető különböző platformokra – windows és linux. Tehát lehet linux szerver, windows munkaállomás, windows szerver, linux munkaállomás, windows szerver, windows munkaállomás, és linux szerver, linux munkaállomás. Több munkaállomás esetén ezek bármely kombinációja működik. Ezért a telepítési útmutató is külön részben tárgyalja a windows és linux platformokat.

Az adatbázis telepítése

  • Ha nincs a hálózatunkon működő mysql szerver, akkor le kell tölteni a community servert a www.mysql.com-ról. Windows-hoz az installációs file-t, linux alatt jobb, ha a disztribúcióban levő mysql server csomagot telepítjük.

  • Az adatbázis és a felhasználók létrehozásának megkönnyítésére töltsük le és telepítsük a mysql gui tools-t. Ez két részből áll. A mysql administrator-ból és a mysql query browser-ből.

  • A mysql szerver telepítésekor választhatjuk a teljes telepítést, illetve a szokásos telepítést. Ha forrásból akarjuk lefordítani az alkalmazást, akkor windows alatt feltétlenül a teljes telepítést kell válasszuk, illetve linux alatt telepítenünk kell a mysqlclient15.dev csomagot. Windows alatt az installálás után konfigurálhatjuk is a szervert. Adjuk meg, hogy alapértelmezett legyen az utf8 karakterkészlet, adjunk jelszót a root felhasználónak, és ha van lehetőségünk arra, hogy a szerveren hozzuk létre az adatbázisokat, akkor válasszuk azt az opciót, hogy a root csak a helyi gépről tudjon csatlakozni. Így biztonságosabb. A mysql bin alkönyvtárát nem kell betegye a path-ba.

  • Ha az 5.0-s szervert telepítettük, a my.ini-ben változtassuk meg a mysql-mode értékét MYSQL40-ra és indítsuk újra a szervert a control panel administration tools services-ben, vagy indítsuk újra a gépet. A my.ini a Program Files/Mysql Server 50 alkönyvtárban található.

  • Ha már van egy működő szerverünk, csatlakozzunk hozzá root felhasználóként a mysql administrator-al, válasszuk a restore backup opciót, linux alatt a change path gombbal változtassuk meg az aktuális alkönyvtárat arra az alkönyvtárra, ahova az alkalmazás forrását kicsomagoltuk és ezen belül lépjünk be az sql alkönyvtárba, windows alatt az open backup gombbal nyissuk meg a contgen.sql állományt, a select encoding of file ablakban válasszuk az utf8 opciót és végül nyomjuk meg a Restore Backup gombot. Ezután futtassuk le ugyanígy a contgen_update_20080714.sql szkriptet. Ezzel létrehoztuk a contgen adatbázist.

  • A cégeknek amiket könyvelni akarunk, létre kell hozzunk cégenként egy-egy adatbázist. Adjunk egy maximum tíz karakterből álló adatbázisnevet minden cégnek. Ez a név lehetőleg ne tartalmazzon ékezetes karaktereket és ne legyen benne space. Például, ha van egy Kiskereskedő KFT nevü cégünk, ehhez társítsuk a kisker adatbázis nevet. Válasszuk ki a catalogs opciót a mysql administrator-ban, a Schemata ablakban nyomjuk meg az egér jobb gombját, és válasszuk ki create schema opciót. A megjelenő dialógusablakba írjuk be a kívánt adatbázisnevet. A példánál maradva ez legyen kisker. A létrehozott adatbázis megjelenik a Schemata rész listáján. Ezek után válasszuk a restore backup opciót, nyissuk meg az empty_company.sql szkriptet, válasszunk utf8 kódolást. A restore selected tables in:-nél levő combo-ban válasszuk ki a létrehozott adatbázist, ami jelen esetben a kisker. Ezután nyomjuk meg a restore backup gombot.

  • A fenti gondolatmenetet alkalmazzuk minden olyan cégre, amelyet az alkalmazással szeretnénk könyvelni. Csináljunk egy listát, amelyre felírjuk a létrehozott adatbázisneveket, és mellette a cégek valós nevét. Ezt a listát be kell vigyün a contgen adatbázis companies alkönyvtárába, hogy az alkalmazás használni tudja őket. Ehhez elindítjuk a mysql query browser-t, csatlakozunk a szerverhez root felhasználóként, és a default schema-hoz beírjuk a contgen adatbázist. Kiválasztjuk a jobb oldali listáról a companies táblát, és kettőt kattintva rá, felülre beíródik a select * from companies sql utasítás. Az execute gombot megnyomva, megjelenik egy lista. Alul van egy edit gomb, ezt nyomjuk meg, így szerkesztési állapotba jutunk, és a táblázatban a company_directory oszlobba kattintva beírhatjuk a cégadatbázisneveket, a company_name-be pedig a megfelelő valódi cégneveket. Az első oszlopot a szerkesztés végén a mysql magától ki fogja tölteni. Ha befejeztük, kattintsunk az apply changes gombra, és ellenőrizzük le, amiket bevittünk a select parancs újbóli lefuttatásával.

  • Ezek után létre kell hozzunk minden felhasználónak egy nevet, amellyel csatlakozni fog a mysql szerverhez. Válasszuk a User administration-t – add new user gomb – a mysql user mezőbe beírjuk a felhasználónevet, megadjuk a jelszót kétszer, megadhatjuk a felhasználó teljes nevét és egyéb adatait, és végül apply changes gomb. Ezután a schema privileges fület választjuk, és minden adatbázisnál, amihez hozzáférési joga kell legyen az illető felhasználónak, hozzáadjuk az összes available privileges-t, a << gombbal. Ezután apply changes gomb és bezárhatjuk az administrator-t.

  • Mindezt elvégezhetjük a mysql interaktív parancssori kliensével is. Ehhez a leírást lásd lennebb.

Telepítés Windowsra

  • Ha létrehoztuk az adatbázisokat és a felhasználókat, a windows kliens gépeken csak annyi dolgunk van, hogy telepítsük az alkalmazást a letöltött qtContgen-2.0.0-install.exe telepítővel.

  • Ha forrásból szeretnénk windows alatt lefordítani a programot, a következőkre lesz szükségünk:

      • Az ftp://ftp.trolltech.com/qt/source/qt-win-opensource-4.4.0-mingw.exe állományra. Ezt telepítsük.

      • A mysql fejelsztési állományaira. Ezek a ProgramFiles / Mysql server 5.0/ install és lib alkönyváraiban vannak, abban az esetben, ha a telepítéskor a teljes telepítés opciót választottuk. Ezeket az akönyvtárakat másoljuk át a c:/ meghajtó gyökérkönyvtárában létrehozott mysql alkönyvtárba. Erre azért lesz szükség, mert a qmake-nek nem lehet olyan utakat megadni, amelyek szóköz karaktert tartalmaznak.

      • A mingw fordítókörnyezetre. Ezt a qt telepítésekor kiválasztott opcióval telepítsük.

      • A mingw utilities csomagra. Ezt a www.mingw.org-ról töltsük le, (http://downloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?modtime=1077362266&big_mirror=1) csomagoljuk ki valahova, és a bin alkönyvtár tartalmát másolkuk át a c:/mingw/bin-be.

      • Az elérési utakhoz adjuk hozzá a c:/mingw/bin és q c:/qt/4.4.0/bin könyvtárakat.

  • Ezek után legelőször is létre kell hozzunk egy libmysql.a állományt, amit a mingw használni tud. Ehhez lépjünk be a c:/mysql/lib/opt alkönyvtárba és ott adjuk ki a következő parancsokat:

      • reimp -d libmysql.lib

      • dlltool -k -d LIBMYSQL.def -D libmysql.dll -l libmysql.a

  • Ezután le kell fordítsuk a qt-s mysql plugint. Ehhez lépjünk be a c:/qt/4.0.0/src/plugins/sqldrivers/mysql alkönyvtárba és ott adjuk ki a következő parancsokat:

      • qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+= C:\mysql\lib\opt\libmysql.a" mysql.pro

      • make

  • Végül töltsük le a forráskódot, csomagoljuk ki egy tetszőleges alkönyvtárba, és ott futtassuk le a következő parancsokat:

      • qmake

      • make

      • make install

Linux telepítés

  • Tekintetbe véve a különböző linux disztribúciók sajátosságait, jelen dokumentumban csak a forrásból való telepítést írjuk le. Ehhez szükségünk lesz néhány dologra:

      • A ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.0.tar.bz2 állományra. Ezt csomagoljuk ki a felhasználó home alkönyvtárába és telepítsük a ./configure make su root-jelszó make install parancsokkal. Ez el fog tartani egy darabig (több óra is lehet). A fordításhoz szüksége van az xorg.dev, vagy ennek megfelelő csomagra.

      • A libmysqlclient15.dev csomagra. Ezt telepítsük a disztribúció csomagkezelőjével.

      • Az alkalmazás forráskódjára.

  • Ha mindez megvan, hozzunk létre egy szimbolikus hivatkozást a qt 4.4.0 qmake állományára az /usr/local/bin-be a következő paranccsal (root-ként):

      • ln -s /usr/local/Trolltech/Qt-4.4.0/bin/qmake /usr/local/bin/qmake-qt4

  • Fordítsuk le a qt-s mysql plugint. Ehhez lépjünk be abba az alkönyvtárba, ahova kicsomagoltuk a qt-t, lépjünk be a src/plugins/sqldrivers/mysql alkönyvtárba és adjuk ki a következő parancsokat:

      • qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro

      • make

      • su root jelszó make install

  • Ha a disztribúciónkban van qt4.4.0-s csomag, akkor megspórolhatjuk a fenti lépéseket. Azonban ilyen csomagot eddig csak a debian testing (lenny) disztribúcióban találtam.

  • Csomagoljuk ki az alkalmazás forrását egy tetszőleges alkönyvtárba a felhasználó home könyvtárában és adjuk ki a létrehozott alkönyvtárban a következő parancsokat:

      • qmake-qt4

      • make

      • su root-jelszó make install

Régi telepítési útmutató:

Az alkalmazás kliens-szerver alapú és multiplatform. Ez egyrészt azt jelenti, hogy külön van választva az alkalmazás, amit a felhasználó lát – ez a kliens – és az adattárolás illetve feldolgozás, amit jelen esetben egy mysql szerver lát el – ez a szerver rész. Másrészt úgy a kliensalkalmazás mint a mysql szerver telepíthető különböző platformokra – windows és linux. Tehát lehet linux szerver, windows munkaállomás, windows szerver, linux munkaállomás, windows szerver, windows munkaállomás, és linux szerver, linux munkaállomás. Több munkaállomás esetén ezek bármely kombinációja működik. Ezért a telepítési útmutató is külön részben tárgyalja a windows és linux platformokat.

Ezenkívül, ennek a programnak létezik egy régebbi, szöveges felületű változata. Ahol ezt használják, a telepítés egyszerűbb, nem kell bizonyos file-okat feltelepíteni, és az adatbázist sem kell létrehozni. Ahol nincs ez a szöveges program telepítve, ott van egy pár extra lépés amit be kell tartani a telpítés során.

Telepítés Windowsra

  • Ha van a gépen működő szöveges contgen, akkor csak a dll-eket és az alkalmazást kell telepíteni. Ha nincs, akkor a forrásprogramban van egy contgen alkönyvtár, ezt be kell másolni a c:\usr\local alkönyvtárba. A contgen alkönyvtárban van egy contgen.cfg file. Ez egy szöveges konfigurációs file, ebben lehet beállítani a paramétereket a mysql szerverhez való csatlakozáshoz. Ezek a paraméterek a felhasználónév (user), jelszó (password), annak a gépnek a hálózati neve vagy ip címe, amelyiken a mysql szerver fut (host), a port és a socket (ezek windowsban lehetnek 0 és üres sztring).

  • Ha nincs elérhető mysql szerver a hálózaton, le kell tölteni a community server-t a www.mysql.com-ról és telepíteni kell. Itt választhatunk, ha van egy helyi hálózatunk, akkor telepíthetjük a szerverre, és a munkaállomások ide fognak csatlakozni, ha viszont csak egy gépünk van, akkor arra kell telepíteni. A mysql szerver működéséhez legalább windows 2000 professional szükséges, vagy ennél újabb verzió. Ha az 5.0-s változatot választjuk, akkor telepítés után a my.ini-ben az sql-mode változónak meg kell változtassuk az értékét MYSQL40-re, és utána a config panel – administrative tools – services – ben újra kell indítani a mysql szervert, vagy egyszerűbben, újra kell indítani a gépet. A szerver konfigurálása alatt be kell állítani, hogy tegye a mysql bin könyvtárát a path-be, mert ellenkező esetben nem fogjuk tudni akárhonnan elindítani a mysql kliens programot, amire szükségünk lesz az adatbázis létrehozásához. Ezen kívül a konfiguráláskor be kell jelölni azt az opciót, hogy a root hálózaton keresztül is hozzáférhessen a szerverhez, ellenkező esetben az adminisztrátori munkákat csak a szerveren fogjuk tudni elvégezni.

  • Ha már működik a mysql szerverünk, akkor létre lehet hozni az adatbázist. Letöltjük a program forráskódját, amiben van egy sql alkönyvtár. Ebben van egy contgen.sql és egy empty_company.sql nevű file. Ezeket a következő parancsokkal lehet telepíteni:

    • mysql -h gépnévvagyipcím -u root -pjelszó < contgen.sql

    • mysql -h gépnévvagyipcím -u root -pjelszó < empty_company.sql

  • A jelszó itt az a root jelszó amit megadtunk a mysql szerver konfigurálásakor, a gépnév vagy ip cím annak a gépnek az ip címe, amelyikre a mysql szervert telepítettük. Ha ugyanazon a gépen dolgozunk, akkor ez localhost, és ebben az esetben a -h gépnévvagyipcím elhagyható.

  • Ha nem szeretjük a parancssori munkát, letölthetjük a mysql.com-ról a mysql gui tools-t, ami két alkalmazásból áll, a mysql administrator-ból és a mysql query browser-ből. Az administrator-t használva csatlakozunk a szerverhez, kiválasztjuk a restore backup opciót, megnyitjuk a contgen.sql file-t és rákattintunk a restore backup gombra. Ugyanezt megcsináljuk az empty_company.sql-el is.

  • Ha már van adatbázisunk – van a gépen régi szöveges contgen – akkor csak a contgen_update_20080613.sql-t kell telepíteni. (ugyanúgy mint a másik kettőt – mysql -u root -pjelszó < contgen_update_20080613.sql, illetve az ismertetett módszerrel a mysql administratort használva.)

  • Ezzel már működőképes is a programunk, de egyelőre csak root-ként tudunk csatlakozni az adatbázishoz, és az alkalmazást is csak root-ként tudjunk használni. Ez két szempontól sem megfelelő. Először is nem ajánlott rendszeradminisztrátorként egyszerű alkalmazásokat futtatni, másrészt pedig a program logikája miatt is szükséges, hogy minden felhasználónak aki egyidejűleg csatlakozik az adatbázishoz egyedi felhasználóneve legyen.

  • Új felhasználó létrehozásához is két lépést kell betartsunk. Első lépésként hozzá kell adjuk az új felhasználót a mysql rendszertábláihoz, és megfelelő jogokat kell neki biztosítanunk, hogy csatlakozni tudjon az adatbázisokhoz. Ezt a következőképpen valósítjuk meg:

    • mysql -h szervergép -u root -pjelszó

    • use mysql;

    • insert into user (Host, User, Password) values ('gépnév', 'felhasználónév','jelszó');

      • itt a gépnév lehet %, ami azt jelenti, hogy az illető felhasználó bárhonnan csatlakozhat a szerverhez, vagy a kliensgép ip címe, vagy a kliensgép hálózati neve (itt nem a windows-os névről van szó, hanem a tpc/ip protokoll által használt névről, amit a hosts file-ban lehet megadni). Ha nem gond, hogy a felhasználó bárhonnan csatlakozhat, akkor ennek az értéknek adjunk %-t. A felhasználónév és a jelszó az lesz, amivel az illető csatlakozni fog az adatbázishoz.

    • insert into db values ('gépnév', 'adatbázisnév', 'felhasználónév','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

      • itt a gépnév és a felhasználónév ugyanaz mint fentebb. Ezt az utasítást ki kell adjuk minden olyan adatbázisra, amihez az illető felhasználónak csatlakozási joga kell legyen. Ezek a contgen adatbázis, amely általános beállításokat tartalmaz, empty az üres demó cég adatbázisa és minden olyan adatbázis, amit a cégekhez létrehoztunk. Az utasítás végén 17 darab 'Y' van vesszővel elválasztva. Ezeket az utaításokat természetesen beírhatjuk egy szöveges file-ba, és utána mysql –u root -pjelszó < szöveges file neve utasítással egyből átadhatjuk a mysql szervernek, vagy megcsinálhatjuk a mysql administratorral is, a fentebb leírt módon.

    • flush privileges;

      • erre azért van szükség, hogy a mysql szerver töltse újra a renszeradatbázisában lévő értékeket.

      • Ezután jöhet a második lépés. A felhasználót hozzá kell adni a program által használt adatbázis megfeleő tábláihoz is:

    • use contgen;

    • insert into users values (1,'fehasználónév');

      • itt az 1 az első létrehozott adatbázis id-je a companies táblából.

    • insert into contgen_users (username, data_curenta) values ('fehasználónév',current_date() );

      • itt a current_date() egy mysql függvény ami a rendszerdátumot adja vissza.

    • insert into gest_users (username, data_curenta) values ('fehasználónév',current_date() );

      • Ezzel készen is vagyunk, a felhasználó csatlakozhat az adatbázishoz. Itt kell megjegyezzük, hogy egyelőre csak akkor enged belépni a program, ha a kliens gépen lévő contgen.cfg-be be van írva minden csatlakozási adat, beleértve a jelszót is. Ez meg fog változni a fejlesztés során, mert így nagy a biztonsági rizikó

      • Hogy világosabb legyen a fenti gondolatmenet ide írok egy példát. Feltételezzük, hogy létre akarunk hozni egy felhasználót, akinek legyen joga a contgen, az empty és a proba adatbázisok használatához. A felhasználónév legyen feri, a jelszó pedig bumm. A felhasználónak minden gépről legyen joga csatlakozni a szerverhez. Íme az sql script.

    • use mysql;

    • delete from user where User='feri';

    • delete from db where User='feri';

    • insert into user (Host, User, Password) values ('%', 'feri','bumm');

    • insert into db values ('%', 'contgen', 'feri','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • insert into db values ('%', 'empty', 'feri','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • insert into db values ('%', 'proba', 'feri','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • flush privileges;

    • use contgen;

    • delete from users where username='feri';

    • delete from contgen_users where username='feri';

    • delete from gest_users where username='feri';

    • insert into users values (1,'feri');

    • insert into contgen_users (username, data_curenta) values ('feri',current_date());

    • insert into gest_users (username, data_curenta) values ('feri',current_date());

      • Figyeljünk a sorvégi pontosvesszőre, a szöveges mezőket körülfogó aposztrófokra és a kicsi illetve nagy betűkre a mező, tábla és adatbázisneveknél. Ha valamit nem jól írtunk, az adatbázis jelezni fogja a hibát. Ebben az esetben azonban nem tudjuk, hogy melyek azok az utasítások amiket mégis végrehajtott a mysql. Ezért írtam az elejére a delete utasításokat, így előbb kitörli az illető felhasználóhoz tartozó bejegyzéseket, és a hiba kijavítása után a script helyesen fogja létrehozni a felhasználót.

      • Tervbe van véve egy konfigurációs segédprogram fejlesztése, ami ezeket a lépéseket megcsinálja a felhasználó, illetve az adatbázis adminisztrátor helyett.

      • Itt megjegyezzük, hogy az új felhasználó a mysql administrator-al is bevihető a rendszertáblákba. Ehhez válasszuk a User administration-t – add new user gomb – a mysql user mezőbe beírjuk a felhasználónevet, megadjuk a jelszót kétszer, megadhatjuk a felhasználó teljes nevét és egyéb adatait, és végül apply changes gomb. Ezután a schema privileges fület választjuk, és minden adatbázisnál, amihez hozzáférési joga kell legyen az illető felhasználónak, hozzáadjuk az összes available privileges-t, a << gombbal. Ezután apply changes gomb és bezárhatjuk az administrator-t. Ezután már csak a contgen adatbázis user... tábláiba kell bevigyük a felhasználót.

      • Új adatbázist úgy lehet létrehozni, hogy az empty_company.sql file elején átírjuk a create database if not exists empty és a use empty sorokban az empty-t a kívánt adatbázisnévre, és lefuttatjuk a script-et. Ezután már csak a contgen adatbázis companies táblájába kell bevigyünk egy bejegyzést:

        • use contgen;

        • insert into companies (company_directory, company_name) values ('adatbázisnév','cégnév');

      • A fenti példánál maradva, a proba adatbázist a következő utasításokkal vihetjük be a companies táblába:

        • use contgen;

        • insert into companies (company_directory, company_name) values ('proba','Ez egy próba cég');

      • Természetesen előbb létre kell hozni a proba adatbázist az empty_company.sql-el, átírva az elején az empty-t proba-ra.

Linux telepítés

  • Amit az adatbázis létrehozásáról és az új felhasználók, illetve adatbázisok hozzáadásáról a windows-os részben írtam, az itt is mind érvényes.

  • Ami különbözik, az az alkalmazás telepítése.

  • Mint tudjuk minden linux disztribúciónak megvan a maga bináris csomagformátuma és rendszerkonfigurációs file-jai. Emiatt itt csak a forrásból telepítést tárgyaljuk. Ehhez szükség van néhány dologra. Először is telepítve kell legyenek a fejlesztőeszközök, a gcc és a g++. Ezen kívül szükség van a mysql kliens oldali fejleszői csomagjára ami rendszerint libmysqlclient.dev, esetleg valamilyen verziószámmal. Szükség van még továbbra a qt4.4.0 x11-es opensource forrásokra, amelyek letölthetők az ftp.trolltech.com-ról. Végül még szükség van a http://tvision.sourceforge.net/rhtvision-2.1.0.src.tar.gz file-ra. Ezt kicsomagoljuk a gyökérkönyvtárban létrehozott tvdevel alkönyvtárba, és ott lefordítjuk ./configure make make install parancsokkal. Ha a ./configure kiírja, hogy szüksége van még valamire, azokat telepítjük az illető disztribúció csomagkezelőjével. Ezután kicsomagoljuk az tp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.0.tar.bz2 címről letöltött qt4.4.0 forrást egy tetszőleges alkönyvtárba. Itt ./configure make make install-al lefordítjuk és telepítjük. Ez eltart néhány órát, tehát ne lepődjünk meg, ha sokat kell várni. Ezután létrehozzuk az /usr/local/mysql alkönyvtárat, és ide létrehozunk két szimbolikus link-et a mysql kliensoldali fejlesztői részéhez, egyet az include file-ok alkönyvtárának, egyet a lib-nek, ami kb a következő utasításokból áll: ln -s /usr/include/mysql /usr/local/mysql/include, illetve ln -s /usr/lib/mysql /usr/local/mysql/lib. Ha mindezzel készen vagyunk, akkor az /usr/local/bin-be létrehozunk egy szimbolikus hivatkozást a qt4-es qmake-re, ln -s /usr/local/Trolltech/Qt-4.4.0/bin/qmake /usr/local/bin/qmake-qt4. Ezt fogjuk használni a program lefordításához, vagyis pontosabban a Makefile létrehozásához. Még mindig van egy lépés, mielőtt a programot fordítanánk, mégpedig létre kell hozni a qt-s mysql plugint. Ezt a qt4 dokumentációjában leírt módon lefordítjuk (leírás az usr/local/Trolltech/Qt-4.4.0/doc/html/sql-driver.html file-ban). Ha mindezt végigcsináltuk, akkor végre hozzáfoghatunk a program lefordításához. Letöltjük a legújabb forrást, kicsomagoljuk valahova, és a kicsomagolt alkönyvtárban kiadjuk a qmake-qt4, és a make utasításokat, ami lefordítja a file-t. Ha minden jól ment, elindíthatjuk az így létrejött alkalmazást.

  • Ha az adatbázisunk linux alatt fut és ugyanarról a gépről akarunk csatlakozni, akkor a contgen.cfg-ben meg kell adjuk a socket értéket. Ezt úgy tudhatjuk meg, hogy elindítjuk a mysql kliens programot, és \s -el kiírja a szerver legfontosabb paramétereit amik között szerepel a port és a socket is. Ezeket az értékeket írjuk be a contgen.cfg megfelelő soraiba (port = és socket =). Ha linux kliensünk van, és a mysql egy másik gépen fut – mindegy hogy ez a másik gép windows vagy linux operációs rendszerrel működik – akkor nem kell megadni a socket-et.