[ prginfo @ 21.05.2008. 11:04 ] @
Posmatram sada, i nije objavljen moj zadnji post.

Postavio sam sledece pitanje:

Kako da u Delphiu (napravio sam DataModul) definisem putanju prema IB bazi, a da je ona nezavisna od toga na kom kompjuteru ce raditi (kada prebacim na neki drugi kompjuter ili folder da mi ne prijavljuje gresku database not found). Nesto kao

putanja baze je: [programmdir]\baza.gdb

Hvala
[ savkic @ 21.05.2008. 14:11 ] @
> Kako da u Delphiu (napravio sam DataModul) definisem putanju prema IB bazi, a da je ona nezavisna od toga na kom kompjuteru ce raditi
> (kada prebacim na neki drugi kompjuter ili folder da mi ne prijavljuje gresku database not found). Nesto kao

Možeš koristiti relativne putanje, znači putanja od tekućeg dira. Npr. ako bazu čuvaš u poddiru programa koji se zove DB, možeš pisati ovako nešto:

PunaPutanja := ExpandFileName('DB\Baza.ib');
[ prginfo @ 21.05.2008. 14:30 ] @
Ja sam ranije koristio neku varijantu u kucanju u okviru Delphija (kada upisem u database properties putanju), a razlika je bila otprilike:

:C:\PROGRAM\BAZA.GDB

i

C:\PROGRAM\BAZA.GDB

Pozz
[ Miloš Baić @ 21.05.2008. 15:09 ] @
Obično se baza postavlja na jedan računar, server, na nju se kače radne stanice (klijenti). Sa IB nisam radio, ali kod Firebird -a možeš definisati aliase (aliases.conf - instalacioni dir Firebird -a), gde upisuješ naziv aliasa i putanju do baze.

Dalje, u sklopu klijentske aplikacije možeš napraviti jedan .ini fajl gde ćeš definisati npr. "DBServer" i "DBAlias"/"DBFilePath". Za "DBServer" postaviš IP adresu servera a za "DBAlias"/"DBFilePath" alias ili apsolutnu putanju. Po meni je bolja varijanta sa aliasima jer je definišeš na samom serveru i time si završio posao sa putanjom do baze.

Potom, kad program startuje, iz .ini fajla učitaš vrednosti i proslediš ih konekciji, nešto kao:
Code:

 FirebirdDB.DatabaseName := DBServer + ':' + DBImeFajla;
[ prginfo @ 21.05.2008. 16:34 ] @
Sada sam napokon dosao kuci i seo za racunar.

Mislio sam na sledece:

Napravio sam bazu BAZA.GDB koja mi se nalazi na C:\direktorijum\BAZA.GDB
U Delphiu sam napravio DataModul na koji sam stavio TIBDatabase.
Zeleo bih da u Object Inspectoru za DatabaseName upisem nekako putanju (neki string) tako da kada program iskompajliram i postavim u neki drugi folder ne prijavljuje gresku da ne moze da nadje bazu (npr. [programmdir\baza.gdb]). Baza mi se nalazi u istom direktorijumu u kom i program.

Pozz
[ savkic @ 21.05.2008. 19:31 ] @
> Zeleo bih da u Object Inspectoru za DatabaseName upisem nekako putanju (neki string) tako da kada program iskompajliram i postavim u
> neki drugi folder ne prijavljuje gresku da ne moze da nadje bazu (npr. [programmdir\baza.gdb]). Baza mi se nalazi u istom direktorijumu u kom i program.

Ako isključivo hoćeš da podešavaš iz ObjectInspectora onda koristi aliase kao što ti je Miloš opisao, u suprotnom putanju do baze podesi prilikom izvršavanja programa (npr. u OnCreate eventu DataModula).