[ Miloš Baić @ 21.11.2006. 19:03 ] @
Pozdrav,

da li može FB baza koja se isporučuje uz delphi aplikaciju funkcionisati bez servera? Odnosno, negde sam pročitao da bi to moglo ako se uz bazu napravljenu u FB isporuče i neki dll -ovi?
[ marcha @ 21.11.2006. 20:27 ] @
Pogledaj drugi deo odgovora iz prethodnog posta.
http://www.elitesecurity.org/p1366977
[ Miloš Baić @ 21.11.2006. 22:54 ] @
Tnx, za početak.
Da li sam dobro skontao filozofiju!?
1) napravim bazu pomoću Firebird Servera
2) snimim je, recimo, C:\Proba\proba.fbd
3) u C:\Proba\ mi se nalazi i .exe kreiran Turbo Delphi-em

Da bi mi program radio sa bazom na nekom drugom računaru, lokal, koristi se taj embedded server, tj., po tom nekom uputsvu koje sam video prebacim neke fajlove i dll-ove (embedded servera) u folder sa bazom i aplikacijom, u ovom slučaju C:\Proba\ i program će normalno raditi kao da je server instaliran?
[ delalt @ 22.11.2006. 14:05 ] @
Citat:
loshmiscg: Tnx, za početak.
Da li sam dobro skontao filozofiju!?
1) napravim bazu pomoću Firebird Servera
2) snimim je, recimo, C:\Proba\proba.fbd
3) u C:\Proba\ mi se nalazi i .exe kreiran Turbo Delphi-em

Da bi mi program radio sa bazom na nekom drugom računaru, lokal, koristi se taj embedded server, tj., po tom nekom uputsvu koje sam video prebacim neke fajlove i dll-ove (embedded servera) u folder sa bazom i aplikacijom, u ovom slučaju C:\Proba\ i program će normalno raditi kao da je server instaliran?

U principu je tako. Firebird embedded server je jedan dll fajl, a ostalo što ti treba
uz tvoj exe je u stvari više vezano za Delphi i komponente koje koristiš.
Embedded server ima nekakva ograničenja (jednokorisnički, koristi se na lokalnom kompjuteru...),
ali ima i prednosti (nema nikakve instalacije, možeš ga koristiti za distribuciju svoje baze i programa na CD-u...).
Evo jedno zanimljivo rješenje, integrišeš sve u jedan exe:

http://fhasovic.blogspot.com/2...o-embed-firebird-into-exe.html

Ne moraš tako da koristiš embedded server, ali imaš i demo i source pa vrijedi pogledati.
[ Mr. Rejn @ 22.11.2006. 14:18 ] @
Citat:
loshmiscg po tom nekom uputsvu koje sam video prebacim neke fajlove i dll-ove (embedded servera)
u folder sa bazom i aplikacijom, u ovom slučaju C:\Proba\ i program će normalno raditi kao da je server instaliran?

Treba emulirati (imitirati strukturu) root dir u kome je instaliran pravi server (kako bi imao podršku za unicode i character setove-fbintl.dll,UDF
f-je ako ih koristiš i jos koješta)-kako to već stoji u dokumentaciji:

Just copy fbembed.dll into the directory where your application resides. Then rename it to either
fbclient.dll or gds32.dll, depending on your database connectivity software.

Example

D:\my_app\app.exe <<-- tvoja aplikacija
D:\my_app\gds32.dll (renamed fbembed.dll)
D:\my_app\fbclient.dll (renamed fbembed.dll)
D:\my_app\firebird.conf
D:\my_app\aliases.conf
D:\my_app\isql.exe
D:\my_app\ib_util.dll
D:\my_app\gbak.exe <<-- za bekap
D:\my_app\firebird.msg <<--poruke servera
D:\my_app\intl\fbintl.dll
D:\my_app\udf\fbudf.dll

Embedded server takođe može služiti za pristup i pravom serveru na udaljenoj mašini (kao obična klijentska biblioteka)
-lokalno pristupaš nekoj svojoj bazi (npr. na CD-u ili još bolje flash memoriji),a po potrebi pristupaš udaljenom serveru na mreži na
uobičajni način.
[ delalt @ 22.11.2006. 17:43 ] @
Jedna mala ispravka, gore sam zaboravio da napomenem da se radi o embedded verziji
Firebirda 1.5.3. U Readme_embeded.txt koji se nalazi u zip fajlu koji se skine stoji:
Code:
3. USAGE

  Just copy fbembed.dll into the directory with your
  application. Then rename it to either fbclient.dll or
  gds32.dll depending on your database connectivity software.
  Then start your application and it will use the embedded
  server as a client library and will be able to access
  local datasases. You should also copy firebird.msg and
  firebird.conf (if necessary) to the same directory.

  If external libraries are required for your application,
  then you should have them separately. Most probably, it
  will be INTL support (fbintl.dll) or UDF libraries. To
  be able to use them, you should place them into the
  directory tree which emulates the Firebird server one,
  i.e. has subdirectories like /intl or /udf:

  c:\my_app\app.exe
  c:\my_app\gds32.dll
  c:\my_app\ib_util.dll
  c:\my_app\firebird.conf
  c:\my_app\firebird.msg
  c:\my_app\intl\fbintl.dll
  c:\my_app\udf\fbudf.dll

  If you want to place the Firebird files (excluding the
  renamed fbembed.dll) in another directory, you need to
  modify your firebird.conf and set RootDirectory to the
  Firebird directory tree. Example:

  c:\my_app\app.exe
  c:\my_app\gds32.dll
  c:\my_app\ib_util.dll
  c:\my_app\firebird.conf
  d:\fb\firebird.msg
  d:\fb\intl\fbintl.dll
  d:\fb\udf\fbudf.dll

  firebird.conf:
  RootDirectory = d:\fb

Znači, zavisi od zahtjeva, ne moraju se uvijek koristiti svi dll-ovi.
Mr.Rejn je u pravu, u praksi je najčešće i potrebno koristiti i druge dll osim fbembed.dll.

Za verziju Firebird 2.0 malo je drugačije, ali sve je upakovano u onaj zip fajl, pa je lako dodati
šta nedostaje:
Code:
3. USAGE

  Just copy fbembed.dll, icudt30.dll, icuin30.dll and
  icuuc30.dll into the directory with your application.
  Then rename fbembed.dll to either fbclient.dll or
  gds32.dll depending on your database connectivity software.
  Then start your application and it will use the embedded
  server as a client library and will be able to access
  local datasases. You should also copy firebird.msg and
  firebird.conf (if necessary) to the same directory.

  If external libraries are required for your application,
  then you should have them separately. Most probably, it
  will be INTL support (fbintl.dll and fbintl.conf) or UDF
  libraries. To be able to use them, you should place them
  into the directory tree which emulates the Firebird server
  one, i.e. has subdirectories like /intl or /udf:

  c:\my_app\app.exe
  c:\my_app\gds32.dll
  c:\my_app\ib_util.dll
  c:\my_app\icudt30.dll
  c:\my_app\icuin30.dll
  c:\my_app\icuuc30.dll
  c:\my_app\firebird.conf
  c:\my_app\firebird.msg
  c:\my_app\intl\fbintl.dll
  c:\my_app\intl\fbintl.conf
  c:\my_app\udf\fbudf.dll

  If you want to place the Firebird files (excluding the
  renamed fbembed.dll) in another directory, you need to
  modify your firebird.conf and set RootDirectory to the
  Firebird directory tree. Example:

  c:\my_app\app.exe
  c:\my_app\gds32.dll
  c:\my_app\ib_util.dll
  c:\my_app\icudt30.dll
  c:\my_app\icuin30.dll
  c:\my_app\icuuc30.dll
  c:\my_app\firebird.conf
  d:\fb\firebird.msg
  d:\fb\intl\fbintl.dll
  c:\fb\intl\fbintl.conf
  d:\fb\udf\fbudf.dll

  firebird.conf:
  RootDirectory = d:\fb
[ Miloš Baić @ 22.11.2006. 18:04 ] @
Pozdrav,

još jednom ću se zahvaliti na nesebičnoj pomoći. Ovako, kao što sam rekao treba mi baza za jedan računar, lokal, te sam instalirao Firebird-1.5.3.4870-0-Win32 i EMS SQL Manager. Skinuo .zip fajl za Embedded verziju. Preko EMS SQL Manager sam prikačio Employee.fdb, bez problema, postavio sam je u C:\Proba\ gde mi se nalazi i .exe. U Turbo Delphiju sam preko ADO o ODBC drajvera za Firebird se povezao na bazu, ali na fbclient.dll u C:\Proba\, a ne na C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll. Potom sam isključio server, totalno i probao aplikaciju. Rezultat je bio uspešan, podaci iz jedne od tabela su se prikazali u TDBGrid -u. Da li je to OK!?! Naravno, za embedded sam propratio sva uputstva.

Dalje, pošto sam radio sa PostgreSQL -om, kao i SQL Serverom, da li bi u EMS SQL Manager mogao upisati u SQL skriptu kod za kreiranje tabela, pogleda, etc., a da ne moram to raditi preko samog menadžera, nego samo da mi izbilduje!?!

Hvala unapred.
[ Mr. Rejn @ 22.11.2006. 19:33 ] @
Citat:
loshmiscg: Preko EMS SQL Manager sam prikačio Employee.fdb, bez problema, postavio sam je u C:\Proba\ gde mi se nalazi i .exe. U Turbo Delphiju sam preko ADO o ODBC drajvera za Firebird se povezao na bazu, ali na fbclient.dll u C:\Proba\, a ne na C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll. Potom sam isključio server, totalno i probao aplikaciju. Rezultat je bio uspešan, podaci iz jedne od tabela su se prikazali u TDBGrid -u. Da li je to OK!?! Naravno, za embedded sam propratio sva uputstva.

Ovde si malo nejasan: taj fbclient.dll C:\Proba\ je embedded ili šta?Ako je embedded to nije ništa čudno,čim si dobio neki rezultat.Šta te sprečava da koristiš native komponente za IB/FB?
Citat:

Dalje, pošto sam radio sa PostgreSQL -om, kao i SQL Serverom, da li bi u EMS SQL Manager mogao upisati u SQL skriptu kod za kreiranje tabela, pogleda, etc., a da ne moram to raditi preko samog menadžera, nego samo da mi izbilduje!?!

Sigurno imaš negde opcije create view/procedure/trigger itd. Kada mu saopštiš šta hoćeš, to što ti je izbacio možeš sačuvati u script-u? Verovatno sadrži neki SQL editor sa kompletiranjem koda u koji možeš ručno dodavati DDL i zatim ga izvršavati.Pojasni malo pitanje...Ja sa EMS nisam radio, ali preporučujem IBExpert (sigurno najbolji alat za IB/FB i Pro nije skup za ono što nudi) ili IBAdmin4. Za prostije operacije vidi alatku IBOConsole (ona dolazi sa instalacijom komercijalnog IB-a).

[Ovu poruku je menjao Mr. Rejn dana 22.11.2006. u 21:15 GMT+1]
[ Miloš Baić @ 22.11.2006. 20:46 ] @
Citat:
Ovde si malo nejasan: taj fbclient.dll C:\Proba\ je embedded ili šta?Ako je embedded to nije ništa čudno,čim si dobio neki rezultat.Šta te sprečava da koristiš native komponente za IB/FB?

fbembed.dll sam kopirao u direktorijum gde mi je aplikacija, pa sam ga izmenio u fbclient.dll, potom, uradio identično ovome:
Citat:
D:\my_app\app.exe <<-- tvoja aplikacija
D:\my_app\gds32.dll (renamed fbembed.dll)
D:\my_app\fbclient.dll (renamed fbembed.dll)
D:\my_app\firebird.conf
D:\my_app\aliases.conf
D:\my_app\isql.exe
D:\my_app\ib_util.dll
D:\my_app\gbak.exe <<-- za bekap
D:\my_app\firebird.msg <<--poruke servera
D:\my_app\intl\fbintl.dll
D:\my_app\udf\fbudf.dll

U firebird.conf u odeljku:
Code:

# String
# ------
# Strings are also what they sound like, strings. Examples:
#   RootDirectory  = C:\FirebirdDelphi Application
#   RemotePipeName = pipe47

umesto RootDirectory = /opt/firebird, postavio C:\FirebirdDelphi Application za ROOT.
Dalje, u ControlPanel - Administrative Tools - Data Sources (ODBC) - User DSN (DataSourceName) odradio Add, odabrao driver za Firebird, koji se instalirao instalacijom servera i u FireBird ODBC Setup prozoru podesio parametre, za Client sam izabrao fajl fbembed.dll, tj. posle izmene fbclient.dll. Onda, kroz ADOConnection preko ODBC povezao se lako na bazu.
Kao što sam napomenuo, isključio sam server (fbserver.exe) kao i fbguard.exe

IB/FB!?! Pa, ne znam, radio sam sa dbGo komponentama, pokušao sam se i preko IB nakačiti na bazu, naravno uspeo sam, ali nisam detaljno ulazio u tu priču. Ne ograničavam se, ali bi mi trebao neki primer, punjenja baze, editovanja, filtriranja za početak da malo skontam filozofiju. Pretpostavljam da je kao i sa dbGo komponentama, ali bih voleo videti.
Ako imate neki primer koji bi podelili sa mnom, bio bih zahvalan da mi pošaljete na mail.
Citat:
Sigurno imaš negde opcije create view/procedure/trigger itd. Kada mu saopštiš šta hoćeš, to što ti je izbacio možeš sačuvati u script-u? Verovatno sadrži neki SQL editor sa kompletiranjem koda u koji možeš ručno dodavati DDL i zatim ga izvršavati.

Ima, ali kroz wizarde ili kao u Access -u putem formi. Takođe, ima i neki SQL editor, s obzirom da sam se zadržao svega 10 -ak minuta na tome nisam ni skontao sve, preleteo sam samo. Više volim kad pišem skriptu i samo je izbildujem, izvršim.
Citat:
Ja sa EMS nisam radio, ali preporučujem IBExpert (sigurno najbolji alat za IB/FB i Pro nije skup za ono što nudi) ili IBAdmin4

Ovo je isto interesantno, taj EMS SQL Manager je Lite verzija, a koliko znam i Firebird!?!
U stvari, da li je u potpunosti besplatan SUPB?
[ Mr. Rejn @ 22.11.2006. 21:24 ] @
Citat:
Dalje, u ControlPanel - Administrative Tools - Data Sources (ODBC) - User DSN (DataSourceName) odradio Add, odabrao driver za Firebird, koji se instalirao instalacijom servera i u FireBird ODBC Setup prozoru podesio parametre, za Client sam izabrao fajl fbembed.dll, tj. posle izmene fbclient.dll. Onda, kroz ADOConnection preko ODBC povezao se lako na bazu.

Čekaj, ja ne znam šta koristi taj Turbo Delphi za povezivanje na Firebird-pogledaj da li imaš IBX komponente na paleti komponenti-to su native komponente za pristup Firebird/Interbase-u,zato te pitam za njih.Dalje bi trebao imati dbExpress i ADO palete komponenti-znači ukupno 3 načina povezivanja na server.Zato mi je čudno što pominješ ODBC-malo je glupo povezivati se na Firebird preko ODBC iz Delphi-ja kada on prirodno podržava Firebird preko IBX-a.ODBC nema NIKAKVE VEZE sa embedded serverom-to je samo dll koji sadrži klijent i server f-je,on ne otvara portove i slično,znači ne treba ništa petljati sa ODBC-om da bi ti program radio preko embedded servera (ako sam te dobro razumeo).

IB/FB znači Interbase/Firebird, nisam mislio na komponente.
Citat:

Ima, ali kroz wizarde ili kao u Access -u putem formi. Takođe, ima i neki SQL editor, s obzirom da sam se zadržao svega 10 -ak minuta na tome nisam ni skontao sve, preleteo sam samo. Više volim kad pišem skriptu i samo je izbildujem, izvršim.

Slušaj, ne znam koliko dobro barataš SQL-om ali pisanje DDL izjava ručno,znači formiranje glavnih objekata,tj. tabela,domena i sl. pa onda izvršavanje u editoru ti nije baš pametno...posebno ako nisi upućen u Firebird SQL sintaksu.Bolje ti je za početak da koristiš te wizarde (čisto da bi uštedeo živce).
Citat:

Ovo je isto interesantno, taj EMS SQL Manager je Lite verzija, a koliko znam i Firebird!?!
U stvari, da li je u potpunosti besplatan SUPB?

Firebird NIJE Lite verzija ničega,nego je nezavisan projekat nastao na bazi koda Interbase SQL servera (pročitaj negde istoriju projekta),koji je open source i potpuno besplatan za svaku upotrebu (pročitaj License za detalje).
[ Mr. Rejn @ 22.11.2006. 22:27 ] @
Mala ispravka:heh, sada videh da ovaj Turbo Delphi Explorer nema IBX...ja šljakam sa BCB6.Tako ti ostaje DBX/dbGo/ADO sa povezivanje.

Deki.
[ Miloš Baić @ 23.11.2006. 13:12 ] @
Pozdrav,

danas ći imati malo više vremena i biću detaljniji.
Pomoću EMS SQL Manager -a sam registrovao host, naravno, server je aktivan, ovako:

CONNECTIONS PARAMETERS
Protocol: Local
HostName: localhost
Port/service: gds_db
//po default-u
User name: SYSDBA
Passwor: masterkey
Role:

SET SOME SPECIFIC OPTIONS
Path to client library gds32.dll
C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll
Path to server security database isc4.gdb/admin.ib/security.fdb
C:\Program Files\Firebird\Firebird_1_5\security.fdb

To je ok. Potom sam odradio REGISTER DATABASE i nakačio bazu. I to je OK.

Dalje sam pomoću TurboDelphi -a (koji ima IBX) a preko Interbase komponeti se nakačio na bazu (TIBDatabase1, TIBTransaction1, TIBQuery1, TDataSource1, TDBGrid1). I to radi OK, u TDBGrid1 su prikazani podaci koje sam ubacio u tabelu pomoću EMS SQL Server-a.

ROOT direktorijum gde mi je aplikacija i baza je:
C:\FirebirdDelphi Application\Baza.FDB
C:\FirebirdDelphi Application\Program.exe
Po uputstvu za Embeded verziju servera u taj direktorijum sam dodao:

D:\my_app\app.exe <<-- tvoja aplikacija
C:\FirebirdDelphi Application\gds32.dll (renamed fbembed.dll)
C:\FirebirdDelphi Application\fbclient.dll (renamed fbembed.dll)
C:\FirebirdDelphi Application\firebird.conf
C:\FirebirdDelphi Application\aliases.conf
C:\FirebirdDelphi Application\isql.exe
C:\FirebirdDelphi Application\ib_util.dll
C:\FirebirdDelphi Application\gbak.exe <<-- za bekap
C:\FirebirdDelphi Application\firebird.msg <<--poruke servera
C:\FirebirdDelphi Application\intl\fbintl.dll
C:\FirebirdDelphi Application\udf\fbudf.dll

E, sad, hteo sam simulirati da nema servera na računaru, pa sam fbguard.exe i fbserver.exe pomoću Windows Task Manager-a isključio.
Po testiranju mi se javila greška da host nije registrovan.

Sad, ko ima volje i strpljenja da mi ukaže na grešku ili previd u ovom postupku.

Hvala unapred.


[ marcha @ 23.11.2006. 14:23 ] @
U datoteci firebird.conf procitaj
# Settings for all platforms/engines i # Database Paths/Directories.

1. firebird.conf, gds32.dll i tvoj.exe treba da budu u istom folderu!
2. Ako se tvoj.exe zakaci na bazu nijedan drugi program ne moze da joj pristupa dok se ti ne otkacis (pa ni FB/IB Manager)

Znaci :
Code:

D:\my_app\app.exe <<-- tvoja aplikacija
D:\my_app\ gds32.dll (renamed fbembed.dll)
D:\my_app\ firebird.conf

C:\FirebirdDelphi Application\fbclient.dll (renamed fbembed.dll)
C:\FirebirdDelphi Application\aliases.conf
C:\FirebirdDelphi Application\isql.exe
C:\FirebirdDelphi Application\ib_util.dll
C:\FirebirdDelphi Application\gbak.exe <<-- za bekap
C:\FirebirdDelphi Application\firebird.msg <<--poruke servera
C:\FirebirdDelphi Application\intl\fbintl.dll
C:\FirebirdDelphi Application\udf\fbudf.dll

Onda u firebird.conf napravi izmenu u odeljku "Settings for all platforms/engines":

"Otkomentuj" RootDirectory i podesi ovako: 
RootDirectory = C:\FirebirdDelphi Application\
[ Miloš Baić @ 23.11.2006. 16:18 ] @
Odradio sam kako ste rekli, jedan deo sam uspeo, dakle fbserver.exe i fbguard.exe su isključeni.
Pomoću EMS SQL Manager-a sam napravio host, pa nakačio bazu. U njemu mogu sve lepo izvršavati. Ali iz Delphija ne mogu.
Za TIBDatabase1 u Database Component Editor -u, sam podesio ovako:
- Remote
- Server: localhost (tako sam ga registrovao)
- Protocol: TCP
- Database:C:\FirebirdDelphi Application\Baza\data.FDB
//aplikacija mi je u C:\FirebirdDelphi Application\

Database Parameters (User Name, Password) su isti kao i na hostu. Postavio sam sve kao što ste rekli, ali greška koju mi prijavi je sledeća:
Citat:

Unable to complete network request to host "localhost".

Još jednom fbserver.exe i fbguard.exe su isključeni, U EMS SQL se kačim na host i bazu, ali iz Delphija ne mogu!?!
[ Mr. Rejn @ 23.11.2006. 16:45 ] @
Citat:
loshmiscg ali greška koju mi prijavi je sledeća:
Unable to complete network request to host "localhost".
Još jednom fbserver.exe i fbguard.exe su isključeni, U EMS SQL se kačim na host i bazu, ali iz Delphija ne mogu!?!

To znači da tvoja aplikacija pokušava da pristupi OBIČNOM serveru preko mrežnog porta. Embedded server se samo tako zove, zato što pakuje calu stvar u jedan dll, ali on NE otvara port. Pokušaj da izostaviš korisničko ime,lozinku i IP adresu/ime servera iz parametara tvoje IBDatabase komponente. Ja sam to rešio tako što sam na Login prozor stavio ovakav kod (u C++ Builderu):
Code:

     if (CheckBox1->Checked==true) { //čekirana je opcija embedded servera,uzmi samo ime baze ili alias,bez IP adrese/imena servera i ostalog:
         DataModule4->IBDatabase1->DatabaseName = Form2->Edit2->Text;
     } else if (CheckBox1->Checked==false) {//nije čekiran pristup preko embedded, uzmi sve uobičajne parametre za običan mrežni server:
         DataModule4->IBDatabase1->DatabaseName = Form2->Edit1->Text+":"+Form2->Edit2->Text; // IP adresa:ime baze
         DataModule4->IBDatabase1->Params->Add("USER_NAME="+Edit3->Text);
         DataModule4->IBDatabase1->Params->Add("PASSWORD="+Edit4->Text);
     }
...
// ovde dolazi kod koji otvara glavnu formu aplikacije itd.

Još jednom,za pristup preko embedded varijante treba ti SAMO ime baze/ili alias baze.

Deki.
[ Miloš Baić @ 23.11.2006. 17:25 ] @
Moje osnovno pitanje je bilo da li može da se Firebird baza postavi bez servera. Pokazali ste mi da može, ali, nikako da to uspem. Jednostavno, odradio sam sve kako ste rekli, ali ne ide. Ostala mi je samo varijanta da instaliram ceo server i tako radim, jer to funkcioniše, ali to nije poenta priče i onoga što meni treba. Ne znam da li sam negde pogrešio ili su neke druge stvari u pitanju.

Da li bi neko imao dobru volju da mi to demonstrira malim primerom, samo embedded verzija(baza sa jednom tabelom) i source code u delphiju odakle je program zakačen na bazu, pa da otvorim i pogledam kako je to odrađeno.
Ako neko ima dobru volju neka mi se javi na pp, biću Vam veoma zahvalan.

Pozdrav,
Miloš.
[ Mr. Rejn @ 23.11.2006. 19:09 ] @
Citat:
loshmiscg: Moje osnovno pitanje je bilo da li može da se Firebird baza postavi bez servera.

Hteo si da koristiš bazu a da ti nije pokrenut server (fbserver.exe) jel tako? Pokazali smo da može-preko embedded servera..šta je embedded server?
To je dll koji sadrži funkcionalnost klijenta i servera istovremeno.
Da li embedded (eng. ugrađeni) drži otvoren port? Ne drži, direktno pristupa fajlu baze podataka (.fdb, .gdb).Zove se isto kao klijentska biblioteka
fbclient.dll.
U čemu je stvar? U tome što Firebird ima svoju klijentsku biblioteku (fbclient.dll), a Interbase je imao svoju (gds32.dll),one su veoma slične ali ne
i identične.
Sigurno te je program za instalaciju FB-a pitao da li hoćeš da ti iskopira "wrapper" biblioteku gds32.dll u sistemski direktorijum system32-pogledaj
da li je tamo imaš.To je zbog podrške aplikacijama pisanim baš u Delphiju ili C++ Builderu jer one ne prepoznaju fbclient.dll.Jel ti sad jasno?
Koliko ja znam Delphi (preko IBX) registruje samo tu gds32.dll biblioteku,a ignoriše fbclient.dll. Ja mislim da je ono što se događa:da tvoja aplikacija
prvo traži gds32.dll u system32 dir a iskulira fbclient.dll (tj. fbembed.dll) u dir-u gde je tvoja aplikacija (Windows programi prvo traže u system32).Preko EMS verovatno pristupaš preko ODBC-a (a time i preko fbclient.dll) pa se on ne buni, a Delphi koristi gds32, ne registruje dignut server i vraća ti grešku.


Da bi smanjio konfuziju,pogledaj gde su ti biblioteke: fbclient.dll,gds32.dll,fbembed.dll. Kada hoćeš da testiraš embedded onda oradi ovo:
1) Isključi fbserver.exe (preko Gardijana-u Control panelu imaš aplet koji za to služi, izbegavaj gašenje servera preko Task managera)
2) uđi u system32 i privremeno preimenuj gds32.dll u npr. gds32.dl_ i fbclient.dll u fbclient.dl_ (da tvoja aplikacija ne može da ih vidi)
3) stavi u dir tvoje aplikacije fbembed.dll i preimenuj ga u gds32.dll (pošto IBX ne zna za fbclient.dll).
4) ostavi prazne parametre u IBDatabase komponenti za username/pass, navedi samo ime fajla baze (obično ima .fdb ili .gdb extenziju-po kon
venciji)
5)Pokreni tvoju aplikaciju-treba da ostvari pristup kako treba.

Kada hoćeš da praviš običnu klijent/server aplikaciju:
1)vrati imena svih onih biblioteka,a sad preimenuj taj gds32.dll u diru tvoje aplikacije u npr. gds32.dl_,sada
tvoja aplikacija nalazi običnu gds32.dll u system32 i radi kao običan mrežni klijent (ali mora da ima parametre za IP adresu/ime servera,usrname/pass
u IBDatabase komponenti).

Izbegavaj istovremenu upotrebu svih tih biblioteka, nego odvojeno testiraj embedded i obične klijent/server aplikacije da ne dolazi do kolizije,po
mogućnosti stavi embedded aplikaciju na neki medijum (idealno na memorijsku karticu-jer se obično tako i koriste,za mobilne baze podataka).
Nadam se da ovo pomaže,kaži ako ti nešto nije jasno.

Deki.

[Ovu poruku je menjao Mr. Rejn dana 23.11.2006. u 20:27 GMT+1]
[ delalt @ 23.11.2006. 19:51 ] @
Zakačio sam program.zip uz ovu poruku.
Tu imaš source i procitaj.txt pa prati upute.
Koristio sam IBX, jer si i ti tako krenuo, ali može u principu i drugo.
Pošto možda već imaš c:\my_app, isprazni taj folder, da još više ne zakomplikujemo.
Nemoj ništa dodatno da podešavaš, sve je jednostavno, samo prati upute.
Javi rezultat...
[ dogriz @ 24.11.2006. 07:19 ] @
Pored svega ovoga o čemu ste razgovarali, svi koji koriste ClientDataSet, ne bi smeli zaboraviti na midas.dll, a oni koji koriste DBExpress - dbexpint.dll, jer bez toga aplikacija neće raditi. Kod DBExpressa proverite i LibraryName za SQLConnection - znači bitno je da se naziv biblioteke poklapa sa onim koji imate u folderu (gds32.dll -> gds32.dll ili fbcliet.dll -> fbclient.dll).
I još jedna mala preporuka, koristite aliase za konektovanje na bazu (aliases.conf) - mnogo je fleksibilnije i izbeći ćete mnoge greške kod kombinovanja sa redovnim firebird serverom i embedded verzijom.
[ Mr. Rejn @ 24.11.2006. 15:09 ] @
I još jedna mala preporuka: izbegavati upotrebu fbembed.dll kao klijenta za pristup Interbase serverima (6.0- 7.x),posebno
kada se radi o operacijama koje uključuju metapodatke (posebno backup/restore),jer sam primetio da tu dolazi do nepreviđenih reakcija od strane servera (verovatno zato što nisu 100% kompatibilni,mislim na FB i IB).Znači oprez pri upotrebi fbembed.dll sa bazama napravljenim u Interbase.
[ Miloš Baić @ 24.11.2006. 16:11 ] @
Pozdrav,

uspeo sam nešto odraditi, zahvaljujem se svima podjednako što ste se potrudili nesebično pomoći.
[ mbabuskov @ 25.11.2006. 18:41 ] @
Citat:
loshmiscg
C:\FirebirdDelphi Application\gbak.exe <<-- za bekap


Ne treba ti gbak.exe, bekap mozes da radis kroz ServiceAPI.

[ Brkic @ 22.10.2007. 18:21 ] @
Moze li neko tacno da kaze sta treba da ide uz program da bi radio na drugom racunaru samo kao klient za FB2.0.
Citao sam milion tema i svi govore drugacije, te kao klien te kao server preko embeded ...te treba samo jedan DLL...
Neko je rekao da ima i varijanta da se sve potrebno integrise u exe fajl ali to ne mogu nigde da nadjem.
Moze li pomoc ??
[ savkic @ 23.10.2007. 10:06 ] @
> Moze li neko tacno da kaze sta treba da ide uz program da bi radio na drugom racunaru samo kao klient za FB2.0.

Fbclient.dll ili gds32.dll (zavisno koje komponente koristiš).
[ Brkic @ 23.10.2007. 13:20 ] @
ne radi sa ta 2 dll,trazi jos nesto.

Instalirao sam FireBird na korisnikovom racunaru i sve lepo radi.

[Ovu poruku je menjao Brkic dana 23.10.2007. u 14:59 GMT+1]
[ savkic @ 24.10.2007. 01:16 ] @
> ne radi sa ta 2 dll,trazi jos nesto.

Potrebni su MS runtime dllovi ali oni već idu uz Windows, firebird.msg može ali i ne mora da treba, takođe firebird.conf.