Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: DELPHI: firebird

  1. #1

    DELPHI: firebird

    ciao a tutti.
    Vi espongo subito il problema che mi angustia: sto facendo una piccola applicazione che dovrebbe connettersi ad un db firebird (già creato con ib Expert). la peculiarità e' che se io copio il programma (*.exe) il database (*.fdb) e la dll (gds32.dll) e le metto su un altro computer (nudo e crudo) il tutto deve ancora funzionare. ora :

    1 - non sono ancora riuscito a connettermi a run time tramite componenti ibx di delphi al database (a design time col test del componente database mi dice che il db non è disponibile [not available])

    2- non sono sicuro che basti copiare i file sopra per la portabilità. cmq non voglio che si installi niente. Si deve copiare l'exe e altri file e basta

    a tutti coloro che ne sapessero qualcosa, esempi, link esempi vi prego aiutatemi che sto diventando matto con questa storia

  2. #2
    Potrei provare a risponderti...
    Dunque, se non vado errato, Firebird necessità di un server per poter funzionare.

    Comunque dipende anche dal tipo di database che usi:
    1. Classico: accesso diretto al database
    2. Super server: necessita di un "guardiano" dei dati.
    Ovvero il computer sul quale é situato Firebird deve avere un componente software che permette di ricreare come un server "virtuale" che gestisce le connessioni ai database.


  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Re: DELPHI: firebird

    Originariamente inviato da Gionte76
    Vi espongo subito il problema che mi angustia: sto facendo una piccola applicazione che dovrebbe connettersi ad un db firebird (già creato con ib Expert). la peculiarità e' che se io copio il programma (*.exe) il database (*.fdb) e la dll (gds32.dll) e le metto su un altro computer (nudo e crudo) il tutto deve ancora funzionare.
    Hai installato FireBird utilizzando il normale setup di installazione o stai usando il pacchetto zippato "embedded"?

    Originariamente inviato da Gionte76
    1 - non sono ancora riuscito a connettermi a run time tramite componenti ibx di delphi al database (a design time col test del componente database mi dice che il db non è disponibile [not available])
    Qual è il valore che attribuisci alla proprietà DatabaseName del componente TIBDatabase?

    Originariamente inviato da Gionte76
    2- non sono sicuro che basti copiare i file sopra per la portabilità. cmq non voglio che si installi niente. Si deve copiare l'exe e altri file e basta
    Prima cerchiamo di risolvere il problema principale.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da AlbertoPicca
    Dunque, se non vado errato, Firebird necessità di un server per poter funzionare.
    A meno di non utilizzare la versione embedded, che spero sia quella in possesso del nostro amico.

    Originariamente inviato da AlbertoPicca
    1. Classico: accesso diretto al database
    2. Super server: necessita di un "guardiano" dei dati.
    Non è proprio così.

    Il tipo di server Classic è stato introdotto per compatibilità verso le versioni vecchissime di InterBase che erano costituite da "processi"; per ciascuna connessione, si avvia un nuovo processo che comunica con gli altri per gestire le problematiche di accesso ai dati (quindi, lo "sceriffo dei dati", anche in questo caso, c'è sempre e comunque).

    Nel caso del Super Server, esiste un servizio unico al quale vengono reindirizzate tutte le connessioni ed esso si occupa di gestirle adeguatamente intervenendo sui database ai quali si vuole accedere (preservandone l'integrità), senza bisogno di "lock" per scongiurare accessi da altri processi che in questa edizione non esistono più.

    Il servizio FireBird Guardian svolge un altro tipo di servizio: tiene sotto controllo il servizio FireBird Server e, nel caso in cui questo venga interrotto bruscamente, lo riavvia. Insomma, un "cane da guardia".
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Ti spiego dettagliatamente cosa accade:
    A DESIGN-TIME: col componete TIBDataBase vado sul suo database componet
    editor imposto i dati:
    connection : LOCAL
    Database: Path del database.FDB
    username: sysdba
    password: masterkey
    premendo test => indipendentemente se rinomino o no fbembed.dll il risultato
    è sempre la finestra con UNAVAILABLE DATABASE

    A RUN-TIME: (con la pressione di un pulsante, prog. di prova)
    chiudo la connessione
    imposto il path:
    IBDatabase1.DatabaseName :=
    ExtractFilePath(application.ExeName) + 'DBMUSEUM.FDB';
    apro la connessione
    eseguo la query e il risultato (visualizzato su un edit) è influenzabile nel
    seguente modo:
    1- se metto gds32.ddl di windows mi dà UNAVAILABLE DATABASE
    2- se metto fbembed.dll rin. in gds32.ddl funziona!!!

    Xò ora sorge il problema:

    se prendo l'exe+dll+fdb e li sposto su un altro computer (Nuovo di
    formattazione con win 98)accade questo:
    1- se la dll è fbembed.dll rin. in gds32.ddl mi dice che non trova la
    gds32.ddl
    2- se la dll è gds32.ddl di windows mi dà UNAVAILABLE DATABASE

    QUALCHE SPIEGAZIONE A QUESTO???

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Sei sicuro di non avere un'installazione client/server di FireBird, oltre all'edizione embedded (quindi entrambe sul tuo PC)?.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    SI

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Il database FireBird si trova nella cartella dell'applicazione o in una sottocartella?

    Qual è il percorso del file che inserisci nella proprietà DatabaseName di TIBDatabase?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    il db è in una sottocartella ed inserisco il percorso giusto. faccio notare che il mio problema riguarda il fatto che se copio db+prog+dll su un altro computer, il prog non si connette al db!!

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da Gionte76
    il db è in una sottocartella ed inserisco il percorso giusto.
    Se il DB si trova in una sottocartella (rispetto alla cartella in cui è memorizzato il file eseguibile dell'applicazione) allora il percorso non è corretto, almeno non lo è a runtime poichè ExtractFilePath estrae il percorso del file EXE, ma è necessario accodare la subdirectory al percorso ottenuto oltrechè il nome del file GDB/FDB.

    Originariamente inviato da Gionte76
    faccio notare che il mio problema riguarda il fatto che se copio db+prog+dll su un altro computer, il prog non si connette al db!!
    Non mi pare che sia l'unico problema, dato che nemmeno a designtime si connette, mentre dovrebbe farlo anche in quel caso...ma tu non vuoi dirmi qual è il valore della proprietà DatabaseName quasi fosse un segreto di Stato... :rollo:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.