Firebird-ovi konzolni alati su prilično osetljivi na sintaksu (da li se pišu navodnici, apostrofi kod kreiranja baze, bekapa, konektovanja... da li se kuca -pass, -password ili password bez "minusa" i sl.).
Podsetnik:
Podsetnik:
/opt/firebird/bin/isql
create database '/home/username/databasefolder/databasename.fdb' user 'SYSDBA' password 'masterkey' page_size 4096 default character set UTF8;
Primetio sam i da Flamerobin-ov "Run a query" ("Execute SQL statement") radi očajno sporo za velike skripte (npr. INSERT više desetina hiljada rekorda). Tu je, recimo IBExpert na Windowsu nenadmašan, a za linux postoji drugo rešenje - izvršavanje skripte pomoću konzolnog isql alata:
U skript.sql fajlu bi trebalo uneti i konekcioni string na početku skripte:
A poželjno je na kraju fajla i (tek da se ne zaboravi):
Hint: potrebno je obratiti pažnju i na (ch)ownera (firebird.firebird) database foldera/fajlova i shodno tome konfigurisati flamerobin i ostale alate.
/opt/firebird/bin/isql -q -i /home/username/databasefolder/skript.sql
U skript.sql fajlu bi trebalo uneti i konekcioni string na početku skripte:
connect databasealias user SYSDBA password masterkey;
A poželjno je na kraju fajla i (tek da se ne zaboravi):
commit work;
Hint: potrebno je obratiti pažnju i na (ch)ownera (firebird.firebird) database foldera/fajlova i shodno tome konfigurisati flamerobin i ostale alate.
FlameRobin je spor jer parsira svaku naredbu i izvrsava je posebno a usput racuna statistike. Ako hoces brzo izvrsavanje velikog broja INSERT-a kroz FlameRobin, ubaci po 1000-2000 komada u execute block:
ОдговориИзбришиset term !! ;
execute block as begin
insert...
insert...
insert...
insert...
...
end
Pozdrav,
Milan Babuskov, FlameRobin developer.
Execute block je OK za insert od par hiljada recorda, a za više desetina hiljada je velik posao cepati na manje blokove. Naravno u zavisnosti od potrebe, može i na ovaj i na onaj način.
ИзбришиPozdrav!