Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326

    [delphi/Firebird] browse file database in remoto

    Ciao a tutti,

    ho una applicazione che si connette ad un database Firebird (DatabaseMaggio.gdb) presente su un PcServer.

    nel momento dell'avvio la mia applicazione legge un file txt nel quale e' scritto il percorso di connessione al database: PcServer:c:\programmi\mioprogramma\DatabaseMaggio. gdb e si connette regolarmente!

    adesso ho la necessita di inserire diversi database: DatabaseGennaio.gdb, DatabaseFebbraio.gdb...etc etc, e quindi dare la possibilita' all'utente di poter selezionare il database su cui operare.

    domanda:
    come posso fare per dare la possibilità all'utente di visualizare l'elenco dei database presenti sul PcServer?

    frequentmente vengono creati database con nomi diversi a secondo delle necessita, cioe 'nomi' senza seguire regole sintattiche.

    grazie

  2. #2
    non esiste in firebird il comando sql

    show databases

    ?
    Dovrebbe darti i database disponibile per quel user

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    Il comando show databases non esiste semplicemente perche' Firebird non lavora con un unica cartella ma sull'intero filesystem.
    Una possibilita' per risolvere il problema e' gestire un servizio di creazione db lato server, anch'esso puo' essere appoggiato su firebird, che registri i database creati, magari anche con note o commenti...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Originariamente inviato da Z0rn
    Il comando show databases non esiste semplicemente perche' Firebird non lavora con un unica cartella ma sull'intero filesystem.
    Una possibilita' per risolvere il problema e' gestire un servizio di creazione db lato server, anch'esso puo' essere appoggiato su firebird, che registri i database creati, magari anche con note o commenti...
    grazie per l'aiuto,

    il problema e che se pure creo il database (dove memorizzo il nome degli altri databases) lo stesso database deve essere sempre su un server ove si collegano tutti i client per attingere i dati per il collegamento... ma purtroppo il nome del server puo variare ed io mi ritroverei nelle stesse condizioni.... impossibilitato a conoscere i nomi dei database a disposizione.


  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    Il nome del server puo' variare? E come farebbe il client a sapere a quale server collegarsi in generale? Nessun DB fornisce un servizio di questo genere. Prova a postare gli estremi del problema, forse si riesce a migliorare l'architettura generale...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    il server puo essere diverso a secondo delle esigenze del cliente. usano 2 o 3 macchine... pero il nome del server e' conosciuto: server1/server2/server3... ed anche il percorso e' sempre lo stesso: c:\MyDatabase

    il problema e' che in questa cartella vengono creati database ad hoc (come gia descritto in precedenza)... e vorrei dare la possibilita' agli utenti di selezionare il database su cui lavorare.

    chiaramente la cartella c:\MyDatabase non e' condivisa in rete.

    grazie

  7. #7
    Originariamente inviato da 123delphi321
    il server puo essere diverso a secondo delle esigenze del cliente. usano 2 o 3 macchine... pero il nome del server e' conosciuto: server1/server2/server3... ed anche il percorso e' sempre lo stesso: c:\MyDatabase

    il problema e' che in questa cartella vengono creati database ad hoc (come gia descritto in precedenza)... e vorrei dare la possibilita' agli utenti di selezionare il database su cui lavorare.

    chiaramente la cartella c:\MyDatabase non e' condivisa in rete.

    grazie
    Direi che così non cavi un ragno dal buco.
    Dovresti riconsiderare la struttura e mettere tutti i database su di un unica macchina.
    Dopodichè ti crei un database che contenga le informazioni di connessione per questi database e i diritti di accesso (o meglio fai una associazione tra IP delle macchine e i database relativi ).

    Esempio:

    Chiamiamo il database DB_SERVER che conterrà due tabelle :

    DATABASES ( nome, user, pwd )
    DIRITTI (nomedb, ipautorizzato)

    quando un computer si collega fa una query ai diritti ed avrà la lista dei database ai quali è autorizzato a collegarsi .. dopodichè il gioco è fatto!

    Se hai problemi con gli IP(perchè magari assegni gli ip con un server DHCP) dai un nome alla macchina e lo salvi su di un file .ini che leggerai all'avvio dell'applicativo; quindi l'associazione invece di farlo con ip-autorizzato lo farai con il nome-autorizzato!!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

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 © 2025 vBulletin Solutions, Inc. All rights reserved.