Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: Maverich - Aprile 16, 2012, 08:38:53 am

Titolo: Firebird + Zeos 6.5.5 stable
Inserito da: Maverich - Aprile 16, 2012, 08:38:53 am
con questa versione non riesco proprio a gestire un db Firebird , impostato protocoloo Firebird 2.1
(chiede sempre fbclient21.dll / fbclient.dll),
ho copiato fbclient.dll (di Firebird 2.1) nella directory di test, ma non cambia.

con la Rel. 7.0.0 alpha invece funzionano correttamente sia le Rel 2.1 che la 2.5 di Firebird.

Lazarus 0.9.31 - Fpc 2.7.1

con i componenti SQLdb invece nessun problema.

c'e' modo di risolvere ?

Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: nomorelogic - Aprile 16, 2012, 09:21:41 am
sei sotto linux o windows?

con windows copiare le dll nella cartella dell'applicazione dovrebbe essere sufficiente, ma se non ti funziona prova a copiarle in c:\windows\system32

se usi linux vai a vedere come si chiamano le dll in /usr/lib e crea un link con il nome della dll che non viene trovata.
a me a volte è capitato di trovare ad esempio
libfbclient.so.2.5.0
è bastato creare un link per far funzionare il tutto
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Stilgar - Aprile 16, 2012, 09:28:34 am
Ciao,
  visto che lamenti la richiesta fbclient21.dll / fbclient.dll da parte del tuo applicativo, mi chiedevo, le DLL ci sono? e dove?
Nel caso tu mettessi la DLL (quella che chiede il driver in avvio) nella stessa cartella di esecuzione, sarebbe quella privilegata in caricamento (eventualmente il Kernel la cerca in PATH, se non presente nella stessa cartella di esecuzione dell'exe).
Poi sarebbe da anizzare il DLL Chain. Ovvero, fbclient è solo un "wrapper" (per intenderci) alle altre DLL utilizzate da FB.
Una volta ho utilizzato FB EMBED, ma su CD, rompeva le balle perchè il DB era in sola lettura .... se non risolvi autonomamente, provo a raspare fuori la struttura che avevo messo in piedi all'epoca ;)

Riciao
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Maverich - Aprile 16, 2012, 11:00:48 am
prove eseguite sotto windows;
circa le altre .dll, non uso la versione embedded, quindi le dll che servono le cerca nel path dove risiede l'installazione Firebird.

ora non ho sottomano Lazarus, ma dopo provo e vediamo se risolvo.
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Stilgar - Aprile 16, 2012, 11:22:58 am
Allora, se una versinoe full di FB, il client lancia chiamate via socket.
Se è la stessa macchina, usa l'interfaccia di loopback dei socket. (127.0.0.1 o localhost per intenderci).
Domanda che può sembrare cretina....
Come stai compilando ... ho notato sul forum che spesso è la versione 64 vs 32 bit a creare casini.
Magari è anche qui lo stesso caso.....
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Maverich - Aprile 16, 2012, 09:58:35 pm
ho provato su s.o WinXP pulito, installato Lazarus via CodeTyphon.
- Firebird 2.1.4
- Zeos 6.6.6

copiato la fbclient.dll  sia nella directory di test che in \Windows\System32
- servizi Firebird attivi
- database funzionante, verificato con IbExpert

creo un nuovo progetto ZConnection, ZQuery, DataSource
ZConnection
-> DataBase : path del Db verificato
-> Hostname : localhost
-> protocol: firebird-2.1

appena provo ad impostare connected = True su ZConnection, segnala che non trova fclient21.dll, fbclient.dll

altra prova:
copiato gds32.dll e fbclient.dll su c:\windows\SysWOW64 (sul Pc e' installato su una partizione separata Win7 64)

nessun cambiamento
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Maverich - Aprile 16, 2012, 10:57:24 pm
ho sistemato alcuni path ed ora
ZConnection riesce a connettersi
ZQuery invece , mando in blocco Lazarus e dopo circa 1 minuto si chiude
la Query e' SELECT * FROM <Tabella> e contiene 10 record

riapro Lazarus, aggiungo i componenti SQLdb, punto alla stessa tabella con la stessa query,  si apre regolarmente senza problemi.
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Stilgar - Aprile 17, 2012, 09:30:57 am
Hihi, sto cercando di compilare Zeos su Lazarus 64 ... ma non ne vuole sapere ;)
Mi sta dando errori di compilazione ...
Codice: [Seleziona]
D:\Programmi\lazarus\components\zeosdbo\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found


Mi sa che la versione a 64 ha qualche problemino di compilazione......
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: xinyiman - Aprile 17, 2012, 09:39:49 am
Io lo segnalerei sul forum ufficiale magari qualcuno ha già risolto!
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: xinyiman - Aprile 17, 2012, 09:40:25 am
Comunque io tanti errori li ho risolti usando l'ultima versione (quella non stabile).
Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Stilgar - Aprile 17, 2012, 09:58:01 am
Ho controllato sull'ufficiale.
Ma nessuno tiene presente i 64 bit ... l'unica cosa che sono riuscito a trovare è il caricamento delle DLL ... a 64 bit.
Sto controllando sia sul forum di Zeos che in quello ufficiale Lazarus....
Forse sono stordito io ... mha.
Dicono di cambiare una uses per Zeos.
Nella versione 6.6.6 (...) c'è già la patch, ma solo se è in ambiente LINUX ... ma sono su Win7 64bit, Lazarus 64bit ... mha.

Titolo: Re:Firebird + Zeos 6.5.5 stable
Inserito da: Stilgar - Aprile 18, 2012, 03:25:13 am
http://zeos.firmos.at/viewtopic.php?p=14790#14790

Hanno ammesso che la versione Win64 è ancora in fase di test.