* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

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

Inserisci il nome utente, la password e la durata della sessione.

50 Visitatori, 0 Utenti

Autore Topic: Db Remoti  (Letto 5974 volte)

Kayla

  • Newbie
  • *
  • Post: 14
  • Karma: +0/-0
Db Remoti
« il: Novembre 16, 2014, 07:00:55 pm »
vari provider offrono database con i servizi Hosting, es.MySql
ora mi chiedo se attivando il servizio, potrei fare esperimenti su un Db remoto
a livello componenti direi ZeosLib, mentre a livello logica tra un Db in Lan e uno Remoto cosa cambia ?
se accedo al Db su Lan tramite ip/nomedb anzichè path/nome.db, variando l'ip da Lan a remoto cambia qualcosa nella modalita' di accesso, sempre a parita' di Db e driver e accesso desktop non web.
Mi aspetto che i tunnell SSH siano gestiti dal provider

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Db Remoti
« Risposta #1 il: Novembre 17, 2014, 12:34:44 pm »
vari provider offrono database con i servizi Hosting, es.MySql
ora mi chiedo se attivando il servizio, potrei fare esperimenti su un Db remoto
a livello componenti direi ZeosLib, mentre a livello logica tra un Db in Lan e uno Remoto cosa cambia ?
se accedo al Db su Lan tramite ip/nomedb anzichè path/nome.db, variando l'ip da Lan a remoto cambia qualcosa nella modalita' di accesso, sempre a parita' di Db e driver e accesso desktop non web.
Mi aspetto che i tunnell SSH siano gestiti dal provider

due database che sono su macchine differenti da quella del client sono sempre db remoti: a livello logico non c'è quindi alcuna differenza tra un dbserver remoto che gira su una macchina in lan ed un dbserver remoto che gira da qualche parte su internet (es: provider)
se devi fare degli esperimenti di connessione basta installare un dbserver in lan

altro discorso riguarda la latenza per la risposta del server remoto: se esegui una query il cui resultset occupa 100MB allora su un server remoto ma in lan non ti accorgerai quasi di nulla, su un server remoto ma fisicamente altrove possono volerci minuti (dipende dalla banda del provider, dalla connessione, ec...)

se devi sviluppare una applicazione destinata a girare su un dbserver remoto in host su un provider (= tempi di latenza importanti) ti conviene iniziare prendendo subito l'hosting; questo per evitare di sviluppare una applicazione che poi dovrai buttare perché non hai tenuto conto dei tempi di risposta



Citazione
se accedo al Db su Lan tramite ip/nomedb anzichè path/nome.db, variando l'ip da Lan a remoto cambia qualcosa nella modalita' di accesso, sempre a
relativamente alla connessione: se il db è su lan, assolutamente, non devi accedere come path/nome.db
ammesso che sia possibile fare una cosa del genere (per fortuna alcuni dbserver si rifiutano), il dbserver lavorerebbe gestendo il file fisico dei dati attraverso i servizi di rete (pacchetti smb)

la connessione tipo path/nome.db la puoi fare solo quando dbserver + nome.db risiedono sulla stessa macchina che fa sia da client che da server
ti diro... in questi casi io uso la sintassi: 127.0.0.1/nomedb

riguardo la sicurezza della connessione (ssh) devi vedere cosa offre il provider ma non è un problema di programmazione, bensì di comunicazione
« Ultima modifica: Novembre 17, 2014, 12:36:57 pm da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

Kayla

  • Newbie
  • *
  • Post: 14
  • Karma: +0/-0
Re:Db Remoti
« Risposta #2 il: Novembre 18, 2014, 11:09:54 am »
grazie della risposta, breve e chiara.

Citazione
ti diro... in questi casi io uso la sintassi: 127.0.0.1/nomedb
e  localhost/<nome db>
potrebbe essere equivalente
su <nome db> posso avere un <directory>/nomedb ?

Mi stuzzica l'idea di provare un db server su una macchina virtuale, e visto che Lazarus va anche su Linux;
con VirtualBox ho creato una macchina virtuale e installato Linux Server, assegnato Ip statico
Virtual Box e' configurato nella sezione Rete come NAT, provato anche con Scheda con Bridge

se da Windows pingo l'IP statico di Linux non risponde, ancora prima di aprire le porte del db , dovrei avevre la connessione tra Win e Linux,
dove trovo maggiori info, su questi problemi ?

Lazarus e' un po' cosi' come interfaccia (mi pare dispersiva, con tutte le finestre scollegate), ma allo stesso tempo, mi pare abbia buone potenzialita', come componenti di connesione ai Db piu' diffusi PostgreSql, Firebird, MySql.

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:Db Remoti
« Risposta #3 il: Novembre 18, 2014, 10:32:06 pm »
Ciao,
  strano che VirtualBox non sia pingabile.
Domani controllo la configurazione della vb in ufficio.
Non ricordo di aver messo nessun ip statico. Mi sembra solo "localhost"... ma ero interessato alle porte ... (Lavoro con 2 WebShpere che rispondono a porta diverse).

Per le finestre scollegate, è una questione storica legata a delphi.

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

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Db Remoti
« Risposta #4 il: Novembre 19, 2014, 09:05:09 am »
Per connettersi puoi usare indifferentemente:
. 127.0.0.1:/percorso/dbname.ext
. localhost:/percorso/dbname.ext
Per il nome del DB spesso puoi configurare degli alias che ti permettono di nascondere il path.

Per il discorso del ping, devi mettere la scheda come bridge (con nat la virtuale macchine la raggiungi solo dall'host) e configura i gateway.

Per le finestre di Lazarus da qualche parte ho letto che c'è un package per ottenere il docking ma non l'ho mai provato.
Imagination is more important than knowledge (A.Einstein)

Kayla

  • Newbie
  • *
  • Post: 14
  • Karma: +0/-0
Re:Db Remoti
« Risposta #5 il: Novembre 19, 2014, 04:16:09 pm »
grazie dell'interessamento,
ho risolto, aggiornando VirtualBox alla 4.3.1.8 , con la 4.3.1.2 non riconosceva la sk di rete .

altra curiosita'
se ho un db su 192.168.1.100/3050:c:\test\db.fdb

come testo se il db esiste sul server 192.168.1.100/3050
ho provato con
Codice: [Seleziona]
 bEsiste := false;
 if FileExists(192.168.1.100/3050:c:\test\db.fdb) then bEsiste := true;

risulta sempre false, se tolgo l'IP lo cerca sul disco locale.

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Db Remoti
« Risposta #6 il: Novembre 19, 2014, 04:53:06 pm »

Codice: [Seleziona]
 bEsiste := false;
 if FileExists(192.168.1.100/3050:c:\test\db.fdb) then bEsiste := true;


Kayla quà bisogna fare un po' di chiarezza...
passi che non ci sono gli apici (quando hai problemi col codice devi sempre fare copia/incolla)
con questa istruzione stai cercando di testare l'esistenza di un file su un filesystem remoto attraverso la porta di firebird...
non è l'approccio giusto (e neanche possibile)

quando c'è un server di mezzo (sia esso database, smtp, pop3 o vattelappesca server) locale o remoto che sia, non ha senso cercare tra i sui file... mai.
se devi testare l'esistenza di un database devi tentare una connessione al database

Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19180
  • Topic in totale: 2288
  • Online Today: 97
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 50
Total: 50

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.