Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Firebird Embedded Server

[es] :: Firebird/Interbase :: Firebird Embedded Server

[ Pregleda: 3550 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

termo4
djordje badza

Član broj: 29233
Poruke: 16
*.PPPoE-1059.sa.bih.net.ba.



+1 Profil

icon Firebird Embedded Server05.11.2010. u 21:46 - pre 163 meseci
Poštovanje,

Trebam(o) da napravimo jednu jednokorisničku aplikaciju sa bazom u pozadini. Nakon puno analiza i "vaganja" izbor je pao na Firebird Embedded server. Razloga je više, ali o tome možda neki drugi put.

Aplikacioni dio bi bio urađen sa dotNet (C#, WPF).

Kako se postavlja Firebird Embedded Server možemo naći googlanjem na hiljadama stranica na internetu. Međutim, ljudi uglavnom daju isti recept koji kod mene ne radi: kopiraj ove files u folder aplikacije, preimenuj ovaj dll u to-i-to i, voila! sve treba radi. Ali avaj!

Svi entiteti i podaci za ovu bazu bi se preuzeli iz postojeće PostgreSQL baze. Moj je zaključak bio da najprije trebam/moram kreirati bazu, odnosno baza.fdb file. Nakon toga bi slijedio Visual Studio itd... Problem nastaje kada kreiram bazu nekim od alata, recimo FlameRobin, onda drugim alatom ne mogu da pristupim bazi. Skoro redovno, iako ne stalno, se javlja greška "Can't find or load fbclient.dll or gds32.dll". A što je najsmješnije, FlameRobin mi dozvoljava da kreiram bazu, ali mi potom ne dozvoljava da joj pristupim. Isto je i sa IBExpert ali i sa EMS SQL Managerom za Firebird.

Gdje griješim?

Da li neko od vas, koji ste sa dužim stažom u ovim vodama, ima volje i strpljenja da objasni/napravi neko malo uputstvo tipa korak-po-korak kako se postavlja Firebird Embedded server, za razne varijante (.Net, Delphi)? Meni konkretno treba dotNET, ali pretpostavljam da bi nekoga zanimalo i za druga okruženja.

Ako treba još kakvih pojašnjenja oko ovog mog problema, mogu ih dati naknadno.

Hvala unaprijed.
 
Odgovor na temu

schild
Dejan Šild
TopCode Software
Subotica

Član broj: 59888
Poruke: 138
*.dynamic.isp.telekom.rs.

Sajt: www.topcode.rs


+2 Profil

icon Re: Firebird Embedded Server05.11.2010. u 22:05 - pre 163 meseci
Verovatno je nesto oko putanja do te preimenovane fbembeded u fbclient. Po meni je najbolje da instaliras full server dok radis razvoj, jer ces imati manje problema. A onda kad hoces da testiras aplikaciju, iskopiras je u taj pripremljeni folder sa fbembeded fajlovima, i privremeno stopiras server.
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Firebird Embedded Server05.11.2010. u 23:21 - pre 163 meseci
> Problem nastaje kada kreiram bazu nekim od alata, recimo FlameRobin, onda drugim alatom ne mogu da pristupim bazi.

Možda nisi znao, fbembedded radi samo sa lokalnom konekcijom što znači da fajl baze ekskluzivno otvara i ni jedan drugi proces mu ne može pristupiti dok prvi ne završi sa radom.

> A što je najsmješnije, FlameRobin mi dozvoljava da kreiram bazu, ali mi potom ne dozvoljava da joj pristupim. Isto je i sa IBExpert ali i sa EMS SQL Managerom za Firebird.

Dakle, pošto napraviš bazu u nekom od tih alata, zatvori ga ili se diskonektuj.

> Skoro redovno, iako ne stalno, se javlja greška "Can't find or load fbclient.dll or gds32.dll".

fbclient i gds32 su klijent dllovi za rad sa FB serverom, gds32 se ranije koristio, sada je to fbclient, s tim što ako tvoj alat očekuje gds32.dll, možeš prosto preimenovati fbclient (ako se u alatu ne može podesiti naziv klijenta). Kao i kod svih dllova, bitno je da budu u diru gde i exe, systemskim dirovima, pathu itd.
Pošto je u pitanju fbembed onda je on istovremeno i server i klijent, dakle možeš i njega preimenovati u gds32.dll ili fbclient.dll.


 
Odgovor na temu

termo4
djordje badza

Član broj: 29233
Poruke: 16
*.PPPoE-6994.sa.bih.net.ba.



+1 Profil

icon Re: Firebird Embedded Server06.11.2010. u 10:59 - pre 163 meseci
Hvala vam na odgovorima.

Višestruka konakcija nije (bila) problem. Poznato mi je da Embedded Server prihvata smo jednu konekciju. Svaki put, nakon upotrebe bilo kojeg od alata, a prije upotrebe drugog, sam isključivao prvi.

Nakon neprospavane noći, analize vaših odgovora, googlanja i razmišljanja, dođoh do nekih zaključaka:

Greška je bila u tome što, pretpostavljam, fbclient.dll treba biti aktivan u memoriji kada se konektujem na bazu. A aktivan će biti samo ako ga podignu Windowsi (tj treba da bude u PATH-u, kao što reče Igor, hvala Igore) ili da ga podigne neka druga aplikacija. Nije mi se dalo da ga postavim u PATH pa sam koristio trik: Kopirao FlameRobin u folder gdje se nalazi fbclient.dll (obrnuto ne radi, probao sam!) i pokrenuo FlameRobin. Kreirao bazu pomoću FlameRobin-a i pristupio joj sasvim normalno. Nakon toga sam isključio FlameRobin i konektovao se ostalim alatima. I svi rade.

Zbog komfora u radu ću ipak postaviti path ka fbclient.dll.

To je prvi dio problema. Računajmo da je riješen.

Drugi dio je prenos podataka. Za prvu ruku bi mi bilo dovoljno da mogu prenijeti samo šemu baze. Postoje alati (uglavnom pod nazivom Data Pump) za prenos šeme i podataka iz PostgreSQL u Firebird, ali mi se čini da oni, na strani Firebird, rade samo sa "pravim" serverom.
Koji god da sam koristio tražio je Firebird Server, u raznim varijantama.

Ima li ko kakvog iskustva sa tim?

Hvala unaprijed

 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Firebird Embedded Server06.11.2010. u 11:28 - pre 163 meseci
> Drugi dio je prenos podataka. Za prvu ruku bi mi bilo dovoljno da mogu prenijeti samo šemu baze. Postoje alati (uglavnom pod nazivom Data Pump) za prenos šeme i
> podataka iz PostgreSQL u Firebird, ali mi se čini da oni, na strani Firebird, rade samo sa "pravim" serverom.
> Koji god da sam koristio tražio je Firebird Server, u raznim varijantama.

Da li si pokušao IBDataPump, mislim da podržava i lokalnu konekciju. BTW niko od tih alata ne traži Server već je samo bitno na koji način se povezuju na bazu, ako je to lokalna konekcija (direktna putanja do baze) onda mora raditi i fbembedded. Ako traži remote konekciju onda to ide preko TCP/IP i tada se fbembedded ponaša kao fbclient i prosleđuje zahtev FB serveru. Dakle, proveri da li u alatu možeš birati način povezivanja odnosno connection string.
 
Odgovor na temu

termo4
djordje badza

Član broj: 29233
Poruke: 16
*.PPPoE-6994.sa.bih.net.ba.



+1 Profil

icon Re: Firebird Embedded Server06.11.2010. u 12:13 - pre 163 meseci
Hvala na odgovoru, mada mislim da još nismo na tragu rješenja.

Da, probao sam IBDataPump. Ova verzija koju ja imam (2010) nema baš puno toga za customize. Dakle, govorimo samo o strani Firebird. Ako izaberem lokalnu konekciju, onda imam u ponudi port (ništa ili gds_db), protocol (TCP/IP, NetBEUI i NovellSPX). Ostalo je specifično za bazu: smještaj file.fdb, smještaj fbclient.dll i username/password. Bilo koja kombinacija tipa konekcije/porta/protocola da se izabere greška je slijedeća:

Target database:
Unable to complete network request to host "127.0.0.1"
Failed to establish a connection.
No connection could be made because the target machine actively refused it... //local
(The specified name was not found in the hosts file or Domain Name Services.) //remote
SQL Code: -902
IB Error Number: 335544721.

Ovaj red zaključen sa //remote je pokušaj očajnika da proba sa tipom konekcije "remote"! Ostali dio poruke o grešci je isti. Po tome sam i zaključio da "traži pravi Server".

Još nisam u totalnom očaju i odoh dalje da kopam, pa se javim...

Poz
 
Odgovor na temu

schild
Dejan Šild
TopCode Software
Subotica

Član broj: 59888
Poruke: 138
*.dynamic.isp.telekom.rs.

Sajt: www.topcode.rs


+2 Profil

icon Re: Firebird Embedded Server06.11.2010. u 20:24 - pre 163 meseci
Ja cu opet sa mojim predlogom: instaliraj FB server dok radis na razvoju baze i programa. Ovako ces uvek imati raznih problema, izmedju ostalih moraces da gasis FlameRobin dok testiras program. Nemas ni jedan razlog da me ne poslusas :)
 
Odgovor na temu

termo4
djordje badza

Član broj: 29233
Poruke: 16
*.PPPoE-6994.sa.bih.net.ba.



+1 Profil

icon Re: Firebird Embedded Server06.11.2010. u 22:30 - pre 163 meseci
Zaista memam nikakav razlog da te ne poslušam :-). Učinih to, instalirah Server i, sve radi. Importovao sve što mi je trebalo iz one baze tako da se sada može krenuti dalje. Mislio sam da postoji put potpreko, ali mora biti po narodnoj "Preko preče, okolo bliže".

A kada završi ova moja Firebird avantura, ako bude interesa na forumu, to možemo i opisati. Mada osjećam da je ovo tek početak jednog dugog prijateljstva sa tom bazom.

Hvala vam dečki na pomoći i savjetima.
 
Odgovor na temu

[es] :: Firebird/Interbase :: Firebird Embedded Server

[ Pregleda: 3550 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.