Autore Topic: Connessione a database FireBird  (Letto 4957 volte)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Connessione a database FireBird
« il: 13 Ottobre 2008, 12:18:03 »
Buongiorno a tutti.

Ho un grosso problema da risolvere.

Sto creando in azienda un programma di controllo gestione i cui dati vengono trasferiti da diversi database, in un unico db postgresql, in modo da poter creare piu' facilmente le join sulle tabelle.

Sulle connessioni a MySql e postgres non ho avuto nessun tipo di problema. Con mssql di microsoft ho imprecato un paio di giorni, poi ho trovato il modo di utilizzare il driver odbc freetds e si è aggiustato tutto.
Il mio problema e' rimasto su un pc windows collegato ad un macchinario i cui dati vengono gestiti da un database firebird.
Ho provato con il seguente codice:

Codice: [Seleziona]
PUBLIC ConnFireBird AS New Connection  

PUBLIC SUB ConnettiDb()      
 
     WITH ConnFireBird      
       .Type = "firebird"
       .Host = "192.168.1.110"
       .Name = percorso
       .Login = mioLogin
       .Password = miaPassowrd
       .Port = "3050"
       .Open()
     END WITH  

END SUB


ma mi da il seguente errore:

Codice: [Seleziona]
Cannot find driver for database: FireBird.


Eppure il componente gambas2-gb-db-firebird e' installato correttamente.
C'e' forse un altro modo per collegarsi con un db firebird?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #1 il: 13 Ottobre 2008, 13:29:11 »
E' strano che ti sia riuscita l'installazione della libreria Gambas, a mio avviso ti mancano le librerie di Firebird, che devi installare a parte, oltre ai -devel per Gambas.

Dovresti fare un controllino...

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #2 il: 13 Ottobre 2008, 13:38:06 »
Eppure ho installato FlameRobin e si collega benissimo. Quindi penso che al mio sistema non manchino le librerie di firebird.

Credo che il problema sia il componente di gambas. Hai modo di fare qualche prova anche tu?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #3 il: 13 Ottobre 2008, 17:02:42 »
Se non erro, FlameRobin è un client per Firebird, non un ambiente di sviluppo.

Gambas ha necessità di avere sullo stesso computer le librerie di base, e gli include, di tutti i programmi di sistema a cui attinge le risorse.
Faccio un esempio: l'ambiente Gnome ha una serie di librerie necessarie al suo funzionamento, che sono localizzate sullo stesso sistema su ci gira Gnome; se così non fosse, tu non avresti la possibilità di avere l'ambiente grafico sul tuo computer.
Gambas, per l'accesso ai database, ha bisogno di avere sulla stessa macchina le librerie client, perchè a queste attinge per le funzioni di accesso, e non ha alcuna funzionalità interna per farlo; questo ovviamente libera il linguaggio sel peso di un gran numero di librerie, e la cosa è normale in un sistema operativo.
Altro esempio: in Linux esistono le librerie, che di solito sono posizionate nelle directory /lib e /usr/lib; in windoz si usano le DLL, che non altro che librerie dinamiche comuni, a cui accedono tutti i programmi che necessitano di funzionalità legate a procedure esterne. Tanto per fare un'esempio, per accedere a MySQL da un pc windoz hai bisogno delle librerie client per la connessione (es. ODBC), poi usi un'applicazione tipo SQLManager di Oracle per accedere al db postgres; il programma frontend ha bisogno di queste librerie, e accede al database tramite queste, usando le sue funzioni interne.

Non ho modo di provare Firebird, perchè ho già troppi motori RDBMS sul mio computer, e poi Firebird non lo uso da nessuna parte. L'ultima volta che l'ho installato, per provarlo, mi ha incasinato il sistema... ma questo molto tempo fà...

Non sò che distribuzione usi, ma sicuramente avranno i pacchetti client per Firebird, basta installarli.


Fammi sapere

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #4 il: 13 Ottobre 2008, 17:17:35 »
Forse non mi sono spiegato bene. :-(

Il programma Flame Robin ha bisogno dei pacchetti client di firebird per collegarsi. Il pacchetto in questione e' libfbclient2 che e' installato.

La mia distribuzione e' la Kubuntu 8.04

Ho fatto che installare sulla mia macchina anche il server onde evitare altri dubbi.

Il risultato comunque e' sempre lo stesso:

Cannot find driver for database: firebird

Se non riesco a risolverla provero' con il driver odbc.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #5 il: 13 Ottobre 2008, 18:00:24 »
Hai provato ad installare anche i "devel" del client?

A gambas sono necessari...

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #6 il: 13 Ottobre 2008, 18:14:41 »
Se ti riferisci ai paccheti firebird2.0-dev e firebird2.0-common anche quelli sono installati.

Casseruola non so proprio come fare.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Connessione a database FireBird
« Risposta #7 il: 13 Ottobre 2008, 18:23:21 »
Parli di componente gambas2-ecc...
Hai messo Gambas dai repo di Ubuntu? Se sì, penso che sia questo il motivo.
La versione dei repo è molto vecchia (2.0) e probabilmente nel corso del tempo i bug del componente sono stati risolti.

Io ti consiglio di fare una prova compilando Gambas dai sorgenti e togliendo quella dei repo.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #8 il: 13 Ottobre 2008, 18:38:26 »
Come repository utilizzo quello di pixel

http://xoomer.alice.it/pixel hardy gambas

la versione di gambas attualmente e' aggiornata alla 2.8.2

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Connessione a database FireBird
« Risposta #9 il: 13 Ottobre 2008, 23:24:06 »
Allora non è un problema di versioni.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #10 il: 14 Ottobre 2008, 09:37:45 »
Niente... Non vedo soluzione.

Comunque sono riuscito a collegarmi lo stesso con il driver odbc.

Grazie comunque a tutti.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #11 il: 14 Ottobre 2008, 12:03:25 »
La tua domanda poi mi ha fatto venir voglia di reinstallare firebird... mannaggia... :-)

Scherzi a parte, ancora una volta ho avuto alcuni problemi iniziali con l'installazione degli rpm forniti dal sito ufficiale che, come al solito, non chiarisce bene la differenza tra il server Classic e il Super... Per non andarmi ad incasinare, avevo scelto la versione Classic, dato che in alcune note erano indicati alcuni problemini tra SUper e altri prodotti. L'installazione ha caricato tutto ma il server non partiva; dopo un pò di analisi su quello che aveva combinato l'installare, ho tolto tutto e installato il SUper. Questo funziona!

Ieri sera non ho avuto tempo di provare con Gambas, anche perchè devo ricompilarlo per includere le librerie firebird; forse stasera ci riesco, e se trovo qualcosa te lo faccio sapere.

Bye

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #12 il: 14 Ottobre 2008, 16:32:05 »
Mi faresti un gran favore. Con il driver odbc non hai la proprietà .count sulla connessione e si è costretti a creare un ciclo che conteggi i record.
Se si hanno poche migliaia di dati, bene... Ma nel mio caso ho tabelle che superano i 2 milioni di record e mi rallenta un pochino le cose!

Comunque grazie per l'interessamento.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Connessione a database FireBird
« Risposta #13 il: 15 Ottobre 2008, 18:57:58 »
Riepilogo:

ho installato il super server firebird, e ci ho pure giochicchiato un pò, e funziona; ho provato ad installare "ibWebAdmin" ma c'è qualche problema con le librerie php, e non riesco a trovarle nei repository di Fedora9.
Ho compilato e installato FlameRobin e funziona.

Il brutto è che non riesco a compilare la libreria gb.db.firebird di Gambas, nonostante le librerie siano disponibile e gli include pure. Non sò perchè non riesce a capirlo, ma tantè la compilazione del modulo non viene inclusa, neppure se forzo con i parametri messi a disposizione da "configure" (vedi "--enable-firebird" e "--includepath=").

Mi dispiace, ma non riesco a darti una soluzione, almeno per ora...