Newsgroup: it.comp.lang.delphi
Titolo: Prima prova con Firebird e non ne esco

Da un po' mi interesso a Firebird.
Mi sono studiato un po' la documentazione, me lo sono installato, con il  
suo Flamerobin per iniziare, ed ho iniziato a familiarizzare.
Primo tentativo con Delphi (versione 6 con tutti i pack) e non ne esco.
Utilizzo le librerie Zeos Lib, che gia' ho usato in precedenza (ultima  
versione, 6.6.6) .
Ho Firebird (ultima versione disponibile) che gira su una macchina, e  
sviluppo su un'altra.
Dalla macchina di sviluppo, sulla quale ho anche Flamerobin, apro e navigo  
il db remoto senza problemi.
Dal mio programmino delphi, che fa una semplice query, mi connetto al  
database (se metto active a design time il componente di connessione, non  
mi da errori)
Quando provo ad eseguire la query pero', ho un'access violation ... e mi  
par strano, perche' mi aspetterei al limite un errore sul database o  
altro, visto che la connessione funziona.
Le dll sono nella system32.
Se qualcuno volesse vedere il programmino, e' qui. Ovviamente occorre  
avere le Zeos Lib installate, oltre a Firebird.
http://www.a2sistemi.it/support/ProvaFirebird.zip
Sono convinto che mi sta sfuggendo qualcosa di basilare, ma son due giorni  
che provo e riprovo senza successo.
Grazie !
-- 
=============================================================
Alberto Rubinelli - Fondazione "Museo del computer" Onlus
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 1856032   Fax 0321 391769   BBS 0321 392320
Mail: 
ne...@museodelcomputer.org
Web : 
www.museodelcomputer.org
=============================================================

 altro, visto che la connessione funziona.
non ho capito dove gira la tua app va che ai festini del nano...
E' lo stesso pc sul quale e' installato fb?
A.

 sviluppo su un'altra.
Hai scaricato l'ultima versione di Firebird che è la 2.5.
Le Zeos 6.6.6 pare s'interfacci con Firebird solo fino alla versione 2.0
---
ZeosDBO supports direct connectivity to the following databases using 
the vendor provided, native interface:
• MySQL 3.20 - 5.0
• PostgreSQL 6.5 - 8.1
• *Firebird 1.0 - 2.0*
• Interbase 5.0 - 7.5
• Microsoft SQL Server 7, 2000
• Sybase ASE 12.0, 12.5
• Oracle 9i
• SQLite 2.8, 3.5
---
Però qui 
http://www.delphi-forum.de/topic_Zeos+666+unter+FB+25_99606,0.html
 pare 
(il traduttore di Google sa il tedesco meglio di quanto lo sappia io) 
che abbiano risolto usando l'alpha delle Zeos 7.0.0 
(
http://sourceforge.net/projects/zeoslib/files/Zeos%20Database%20Objects/zeosdbo-7.0.0-alpha/
)
L'alternativa è usare una versione meno recente di FB come la 2.1.
Pensa che io uso ancora la 1.5. :)

 
http://www.a2sistemi.it/support/ProvaFirebird.zip
 
 
Forse potrebbe essere più sconfortante che che confortante... ho 
ricompilato sotto D5 (rimuovendo le rif. alle lib che non ho e cambiando 
il nome del db e tabella nella query) e funziona sia a design time che 
lanciando l'eseguibile compilato.
- firebird-2.1.3/Centos 5
- Zeos 6.6.6-stable
 
Per curiosità... db "gepa"... revisioni auto o coincidenza?
 
 
-- 
Design for the future, because it will be here sooner than you think.
(C) Eric S. Raymond, from "The Art of Unix Programming"

 Le Zeos 6.6.6 pare s'interfacci con Firebird solo fino alla versione 2.0
I componenti VCL InterBase della versione 6 di Delphi (quella che uso)  
vanno benissimo con FB 2.1.
Qualcuno sa dirmi che cosa mi perdo se non uso Zeos?
Grazie.
Michele


Con i componenti IBX ti puoi collegare solo a db Firebird.
Con Zeos hai una scelta più vasta (guarda il mio post precedente) che ti 
permette di leggere dati da diversi motori db senza dover avere un 
componente apposta per ognuno di essi. Rimane il fatto che devi 
rispettare la sintassi SQL, se diversa, di ogni singolo motore e quindi 
non ti basta cambiare il Protocol di una ZConnection e ricompilare.
Per la differenza nella velocità d'operazione tra IBX e Zeos non ho mai 
fatto test approfonditi e quindi non posso dirti nulla.

poi zeos è valido anche per Lazarus quindi se un domani devi fare un
porting di una applicazione per Linux e Mac sei un passo avanti

 fatto test approfonditi e quindi non posso dirti nulla.
 
Ahimè, speravo in questo...
 
-- 
Michele

 porting di una applicazione per Linux e Mac sei un passo avanti
Vero.
Però ho fatto qualche prova (Lazarus+Zeos), un po' di tempo fa, e ho  
notato una certa instabilità; quindi ho (provvisoriamente) rinunciato e  
sono tornato a Delphi+IBX.
-- 
Michele


Ti posso dire che, perlomeno, non ho notato rallentamenti e quindi 
questo fatto sommato alla caratteristica di poterti, in ogni momento, 
slegare dal motore db fa delle Zeos la scelta ideale per progetti nuovi.
 

 E' lo stesso pc sul quale e' installato fb?
 
No, sono due macchine differenti in lan. Da quella dove lavoro con delphi,  
vedo ed accedo al db con Flamerobin, quindi escludo problemi di  
connettivita'/rete


 Pensa che io uso ancora la 1.5. :)
Si, questo non sarebbe un problema, ho scelto l'ultima solo per partire  
aggiornato, ma per quello che devo fare io va bene qualunque cosa ...  
arrivo dai dbf con ADS della ed Extended system oggi sybase .... :)
Ciao.Alberto.


 Qualcuno sa dirmi che cosa mi perdo se non uso Zeos?
 
Non saprei, non avendo usato i componenti vcl. Io ho usato Zeos con mysql  
e con oracle con problemi zero e prestazioni che mi sono parse buone (ma a  
naso, non ho fatto confronti decenti)


 Per curiosità... db "gepa"... revisioni auto o coincidenza?
Si, il campo e' quello, pero' non so dirti esattamente. Io devo solo  
interfacciarmi a quel database per tirare fuori l'anagrafica ed  
interfacciarla ad un mio programmino semplicissimo.
Ciao.Alberto.


 pensando che ormai firebird ed interbase fossero diventati diversi.
E lo sono, infatti (come tutti sanno), ma non mi stupirei troppo se gli  
IBX funzionassero anche con FB 2.5.
Resto in attesa di riscontri.
Sarebbe strano, però, che i "vecchi" IBX funzionino fino alla 2.5 (con la  
2.1 è sicuro) e "nuovi" zeos 6.6.6 si fermino alla 2.0.
Va bene Lazarus, la portabilità e tutto il resto... ma non c'è altro?
-- 
Michele