Autore Topic: Connection  (Letto 833 volte)

Offline swan

  • Gamberetto
  • *
  • Post: 11
    • Mostra profilo
Connection
« il: 29 Giugno 2009, 23:13:16 »
Passato da programmare con VB6 e Access (ma non del tutto abbandonato) a VB.Net/C# e ADO.Net, con qualche divagazione di WPF ho preso la buona abitudine di aprire e chiudere sempre le connessioni (in modo da evitare anche veri e propri errori a runtime per troppe connessioni con processi lanciati asincroni, con Access non capitava ma passato alle ADO.Net si) (insomma sono il vostro programmatore ideale, tutto M$).
Giovedì passato, dopo l'ennesimo virus, ho deciso che nel pc di casa non c'era più posto per WinXP e mi sono così deciso ad installare Linux (non in dualboot, solo e soltanto linux, che se no non ho speranze di imparare ad usarlo) e ovviamente non ho potuto fare a meno una volta scoperto di installare anche Gambas.
Guardando l'esempio contenuto per mostrare l'interfacciamento ad un database vedo che la connessione viene lasciata aperta per tutta la durata del programma. E' perchè si tratta di un'esempio “scolastico” o non c'è bisogno di chiudere sempre le connessioni un po' come avveniva utilizzando le DAO in VB6?

Ps. molto gratificante approdare su piattaforma Linux e trovarsi difronte ad uno strumento così completo per cominciare a programmare, chi se lo sarebbe aspettato un RAD su Linux :)! In più ritrovando aspetti del VB6 e del VB.Net senza essere MONO.

Ps2. Complimenti anche per il forum sembra che sarà molto più semplice di quanto pensavo provare a fare un primo progettino.

Grazie Max

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Connection
« Risposta #1 il: 29 Giugno 2009, 23:23:44 »
in gambas come in linux e come nella vita la stessa cos asi può fare in modi diversi....

nell' esempio che citi infatti la connessione viene aperta a inizo programma e chiusa alla fine.
Questo metoo può essere valido utilizzandolo con un db tipo sqlite utilizzato per programmi stand-alone in cui l'unico accesso al db avviene da quel programma per cui se ti piace o ti è comodo può anche essere un buon metodo.

io personalmente preferisco aprire e chiudere la connessione a inizio e fine delle varie funzioni che ne fanno uso.

non saprei dirti quale metodo sia migliore o peggiore ma comunque o prima o dopo la connessione va chiusa.

discorso diverso invece se si utilizza un db mysql che risiede in un pc e viene richiamato da più macchine, quindi in questo caso sicuramente è necessario aprire la connection solo quando serve e richiuderla il prima possibile.

benvenuto nel forum e nel mondo linux!

Offline swan

  • Gamberetto
  • *
  • Post: 11
    • Mostra profilo
Re: Connection
« Risposta #2 il: 29 Giugno 2009, 23:39:04 »
già! proprio dopo aver installato sqlite su un blog ho letto in sintesi quelli che erano i punti di forza e quello a cui ovviamente si doveva rinunciare, esempio la multiutenza (se non gestendola da programma, credo bloccando i record aperti dagli altri...?)
nel frattempo scarico qualche kb in più (rispetto a sqlite) del mysql e ti ringrazio per la delucidazione.

ciao
max

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Connection
« Risposta #3 il: 29 Giugno 2009, 23:46:15 »
be si la multiutenza si può sempre gestire per vie traverse(mai capitato per ora) tieni comunque conto che sqlite per piccole applicazioni è più semplice da utilizzare e soprattutto è pronto all' uso , mysql necessita di una configurazione e di una creazione di un "server mysql " sul tuo pc, cose non comlesse ma che potrebbero risultare inutili per un primo progetto.

inoltre tu puoi scrivere il tuo programma gambas per sqlite e se poi cambi in mysql dovrai solo aggiungere due opzioni alle procedure di connessione e il tuo programma utilizzerà il nuovo db!

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Connection
« Risposta #4 il: 30 Giugno 2009, 09:55:52 »
Aggiungo la mia testimonianza.
Anch'io sono uno di quelli che preferisce aprire la connessione solo quando deve accedere al DB (SQLite o MySQL che sia) e chiuderla non appena ho concluso la transazione.

P.S. 1:
benvenuto anche da parte mia ;-)

P.S. 2:
anche sul mio desktop principale ho messo solo Linux ;-)
Win'XP l'ho lasciato sul secondo desktop, per poter giocare con il MAME :-P
E sul portatile ho Win'2000 solo per poter fare assistenza ad un mio amico a cui ho realizzato anni fa un gestionale in VB. Però il S.O. principale è Linux.
Visita il mio sito personale: http://www.leonardomiliani.com