* * * *
25 Visitatori, 0 Utenti

Autore Topic: collegamento su un percorso di rete  (Letto 6661 volte)

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
collegamento su un percorso di rete
« il: Ottobre 09, 2012, 10:33:06 am »
Ciao a tutti,
torno di nuovo alla carica..
Ho creato un programma che ha varie connessioni firebird.
In locale nessun problema, dopodiche' vorrei metterlo in rete.
Sul server che ha la cartella da condividere ho istallato firebird super server 2.5.1, e sul client ho fatto lo stesso (sul client non ho istallato solo la versione client perche' dal client sviluppo il programma.
A questo punto ho modificato il sorgente ed ho provato a mettere sulla proprieta' hostname della tibconnection il nome del server remoto e sul databasename il percorso per arrivare alla cartella condivisa dove risiede il db (esempio: hostname server databasename \\server\condivisa\dati.fdb), ma non ha funzionato (se metto connected a true mi da errore: unable to complete network request to host "server").
Ho provato anche a sostituire il nome del server con l'indirizzo Ip (esempio: hostname 192.168.1.100 database name \\192.168.1.100\condivisa\dati.fdb)ma da errore lo stesso (unable to complete network request to host "192.168.1.100")
Come devo fare per collegare con firebird un database in rete?
« Ultima modifica: Ottobre 09, 2012, 11:02:36 am da tiberi72 »

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1967
  • Karma: +4/-0
Re:collegamento su un percorso di rete
« Risposta #1 il: Ottobre 09, 2012, 03:25:31 pm »
Usa un alias di Firebird.
Così nella connessione non devi mettere il path sul server (magari non visibile da fuori del server)
Controlla il file alias dentro la cartella di firebird.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
Re:collegamento su un percorso di rete
« Risposta #2 il: Ottobre 10, 2012, 09:26:54 am »
e l'hostname devo cambiarlo per collegarmi al server?
Avresti per caso un esempio sottomano per la configurazione della tibconnection su un server?
Scusa la raffica di domande ma non vorrei aver sbagliato il tipo di database per il mio progetto: io vorrei gestire alcune tabelle di un database da diversi computer nella stessa rete, pensi che sia possibile farlo con firebird o mi consigli qualche altro database (possibilmente gratuito tipo firebird ;) )che riesca a lavorare in rete?
« Ultima modifica: Ottobre 10, 2012, 09:42:07 am da tiberi72 »

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1967
  • Karma: +4/-0
Re:collegamento su un percorso di rete
« Risposta #3 il: Ottobre 10, 2012, 09:58:26 am »
Allora ;) :
1) No non ho esempi sotto mano.
2) Firebird è un ottimo RDBMS
3) Punti al server con la tua connessione (basta che la dll client sia presente sulla macchina che deve connettersi), al posto del solito percorso metti l'alias.

;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
Re:collegamento su un percorso di rete
« Risposta #4 il: Ottobre 10, 2012, 10:31:15 am »
ma per far funzionare un pc da client va bene anche un'istallazione super server o devo per forza istallare firebird con  il parametro solo client?

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1967
  • Karma: +4/-0
Re:collegamento su un percorso di rete
« Risposta #5 il: Ottobre 10, 2012, 10:35:18 am »
Tiberi ... basta che il tuo programma veda la DLL e la riesca a caricare.
Non devi installare proprio un bel niente nel client che riguardi Firebird.
Un copia e incolla dove è il tuo exe, per dirla terra terra.
Siccome non conosco intimamente TIBConnection, non so se supporta il doppio nome della DLL o pretenda uno dei due.
In ogni caso puoi andare a spluciare la classe e vedere che nome deve avere.
Tieni conto che Firebird è un fork open di Interbase.
Quindi ha il suo di nome fbclient.dll e quello interbase.
Prova con uno al massimo rinomini la dll e riprovi ;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
Re:collegamento su un percorso di rete
« Risposta #6 il: Ottobre 10, 2012, 11:13:47 am »
Tiberi ... basta che il tuo programma veda la DLL e la riesca a caricare.
Non devi installare proprio un bel niente nel client che riguardi Firebird.
Un copia e incolla dove è il tuo exe, per dirla terra terra.
Siccome non conosco intimamente TIBConnection, non so se supporta il doppio nome della DLL o pretenda uno dei due.
In ogni caso puoi andare a spluciare la classe e vedere che nome deve avere.
Tieni conto che Firebird è un fork open di Interbase.
Quindi ha il suo di nome fbclient.dll e quello interbase.
Prova con uno al massimo rinomini la dll e riprovi ;)
Ho provato a installare in modalita' client un pc e poi ho inserito la cartella con eseguibile, fbclient.dll e aliases.conf che punta a cartella di rete del server.
Mi da il seguente messaggio di errore Unable to complete network request to host "localhost"
Se da lazarus imposto come server name della tibconnect il pc dove risiede firebird server non mi fa la connessione (anche se ho impostato il database name con il percorso del server "server:c:\condivisa\dati.fdb")
Sicuro che basta solo configurare l'alias?

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
Re:collegamento su un percorso di rete
« Risposta #7 il: Ottobre 10, 2012, 12:04:14 pm »
allego un esempio.
Il programma in locale e' funzionante, ma non riesco a impostarlo per farlo funzionare nel server "server" con il database che risiede nella cartella c:\condivisa\datinilu.fdb.
Potreste dirmi cosa sbaglio?
nel file zip trovate il programma funzionante in locale.
Le modifiche che ho fatto io sono sul file clienti.lfm che ho aggiunto come altro allegato servono per provare a collegarmi in rete (senza successo  :'( :'( :'()
Fatte le prove ordinarie (pingato il server sia con il nome che con l'indirizzo ip e provato a sostituire nel server il nome con l'indirizzo ip).


Cosa sbaglio?

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1967
  • Karma: +4/-0
Re:collegamento su un percorso di rete
« Risposta #8 il: Ottobre 10, 2012, 12:50:03 pm »
Cercandoti in rete delle guide mi sono imbattuto in questa.
E' per zeos, ma riporta la cose che devono essere presenti (fai la tara per la versione embedded - cambia solo la DLL del DBEngine con quella di connessione)

http://voicixs.com/archives/198
Salta il punto 17.

Questo è per l'alias:
http://www.firebirdsql.org/pdfmanual/Firebird-2.5-QuickStart.pdf
Citazione
Use database aliases
Database aliases shield the client from physical database locations. Using aliases, a client can e.g. connect
to “frodo:zappa” without having to know that the real location is frodo:/var/firebird/music/
underground/mothers_of_invention.fdb. Aliases also allow you to relocate databases while the
clients keep using their existing connection strings.
Aliases are listed in the file aliases.conf, in this format on Windows machines:
poker = E:\Games\Data\PokerBase.fdb
blackjack.fdb = C:\Firebird\Databases\cardgames\blkjk_2.fdb
And on Linux:
books = /home/bookworm/database/books.fdb
zappa = /var/firebird/music/underground/mothers_of_invention.fdb
Giving the alias an .fdb (or any other) extension is fully optional. Of course if you do include it, you must
also specify it when you use the alias to connect to the database.
Aliases, once entered and saved, take effect immediately. There is no need to restart the server.
L'alias è proprio usato per nascondere dettagli.
Devi usare (nella connessione da client scritto con lazzaro) il nome dell'alias.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 1967
  • Karma: +4/-0
Re:collegamento su un percorso di rete
« Risposta #9 il: Ottobre 10, 2012, 12:51:55 pm »
Mi sono dimenticato di risponderti ....
Cosa sbagli?
La connessione è impostata a :
Codice: [Seleziona]
c:\condivisa\datinilu.fdb
Quindi per il db in locale..... ;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

tiberi72

  • Full Member
  • ***
  • Post: 101
  • Karma: +0/-0
    • Pagina Personale
Re:collegamento su un percorso di rete
« Risposta #10 il: Ottobre 11, 2012, 10:42:47 am »
Ho trovato qual'era il problema.
Durante l'istallazione di firebird sul server non aveva creato in automatico l'eccezione per la porta 3050 che utilizza firebird.
Creata la porta e risolto il problema  ;D ;D ;D
Per eseguire il test verso il server ho utilizzato un comando
Codice: [Seleziona]
telnet server 3050
Comunque grazie per la dritta dell'alias, in effetti e' molto utile e mi permette di mantenere i db connessi su lazarus in fase di sviluppo

Grazie e ciao!!

 

Recenti

How To

Trascinare un file nel programma da xinyiman
DB concetti fondamentali e ZeosLib da xinyiman
Recuperare codice HTML da pagina web da xinyiman
Mandare mail con Lazarus da xinyiman
Stabilire il sistema operativo da xinyiman
Esempio lista in pascal da xinyiman
File INI da xinyiman
Codice di attivazione da xinyiman
Realizzare programmi multilingua da xinyiman
Lavorare con le directory da xinyiman
Utilizzare Unità esterne da Loryea
TTreeView da xinyiman
TTreeview e Menu da xinyiman
Generare controlli RUN-TIME da xinyiman
LazReport, PDF ed immagini da xinyiman
Intercettare tasti premuti da xinyiman
Ampliare Lazarus da xinyiman
Lazarus e la crittografia da xinyiman
System Tray con Lazarus da xinyiman
UIB: Unified Interbase da Microges2000
Il file: questo sconosciuto da Microges2000
Conferma di chiusura di un applicazione da xinyiman
Liste e puntatori da Microges2000
Overload di funzioni da Microges2000
Funzioni a parametri variabili da Microges2000
Proprietà da Microges2000
Conversione numerica da Microges2000
TImage su Form e Panel da Maverich
Indy gestiore server FTP lato Client da Maverich
PopUpMenu sotto Pulsante (TSpeedButton) da Maverich
Direttiva $macro da Microges2000
Toolbar da xinyiman
Evidenziare voci TreeView da Maverich
Visualizzare un file Html esterno da Maverich
StatusBar - aggirare l'errore variabile duplicata da Maverich
Da DataSource a Excel da xinyiman
Le permutazioni da xinyiman
Brute force da xinyiman
Indy 10 - Invio email con allegati da Maverich
La gestione degli errori in Lazarus da xinyiman
Pascal Script da xinyiman
Linux + Zeos + Firebird da xinyiman
Dataset virtuale da xinyiman
Overload di operatori da Microges2000
Lavorare con file in formato JSON con Lazarus da nomorelogic
Zeos ... dietro le quinte (prima parte) da Stilgar
Disporre le finestre in un blocco unico (come Delphi) da Maverich
Aspetto retrò (Cmd Line) da xinyiman
Come interfacciare periferica twain da Narciso
Ubuntu - aggiornare free pascal e lazarus da xinyiman
fpcup: installazioni parallele di lazarus e fpc da nomorelogic
Free Pascal e Lazarus sul Raspberry Pi da nomorelogic
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal. da nomorelogic
Creare un server multithread da xinyiman
guida all'installazione di fpc trunk da subversion in linux gentoo da nomorelogic
Indice da nomorelogic
DB concetti fondamentali e connessioni standard da xinyiman
Advanced Record Syntax da nomorelogic
DB concetti fondamentali e DBGrid da xinyiman
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText da xinyiman
Advanced Record Syntax: un esempio pratico da nomorelogic
Superclasse form base per programmi gestionali (e non) da nomorelogic
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox da nomorelogic
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form da nomorelogic
Superclasse form base per programmi gestionali (e non) #4 - wait animation da nomorelogic
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog da nomorelogic
Installare lazarus su mac osx sierra da xinyiman
immagine docker per lavorare con lazarus e free pascal da nomorelogic
Utenti
Stats
  • Post in totale: 12633
  • Topic in totale: 1570
  • Online Today: 25
  • Online Ever: 520
  • (Novembre 04, 2018, 12:00:31 pm)
Utenti Online
Users: 0
Guests: 25
Total: 25

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.