01 март 2012

Firebird isql (linux)


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:
/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:
/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.