Newsgroup: it.comp.lang.visual-basic
Titolo: Connessione lunga o breve?

Secondo voi č meglio aprire una connessione a inizio programma e fare 
riferimento a lei per tutto il software, oppure aprire e chiuderla 
quando serve?
Parlo di applicazioni tipo gestionale e simili...
Voi nella maggior parte dei casi che fate?
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|

 Voi nella maggior parte dei casi che fate?
IMHO: Dipende molto dall'architettura del database e dal tipo di
connessione in oggetto.
Supponendo che ci siano delle licenze per singolo client,
trovo più logico che tu abbia una connessione solo quando serve.
Qualora invece *non* ci fosse quel genere di restrizioni, puoi
provare a mantenere viva la connessione.
Ancora, però, ci sono diverse altre cose che vanno tenute in
debito conto: il traffico di rete, la connessione ad internet( se si
utilizza il programma su Internet ) ed altri fattori. In definitiva,
direi che è *sempre* meglio connettersi quando c'è bisogno, a meno di
esigenze specifiche.
Ciao,
Andrea

 -- 
Ti posso riferire la mia esperienza: piccola rete locale (circa una ventina
di computer connessi), vari programmi per acquisizione telefonate (tipo
call-center), smistamento telefonate e gestionali vari.
Applicazioni realizzate in VB6, DB MySQL interfacciato via ODBC.
Preferisco aprire la connessione all'inizio di ogni applicazione e chiuderla
alla fine, perché č meglio non attendere quei 3-4 secondi che ODBC si
connetta, e MySQL supporta tranquillamente anche una ventina di connessioni
aperte contemporaneamente.
Ciao!

 ha scritto nel messaggio
news:mSlgd.6459$Es2.1...@twister2.libero.it...


 ha scritto nel messaggio
news:mSlgd.6459$Es2.1...@twister2.libero.it...


chiama connection polling ....
pooling ...

 ha scritto nel messaggio
news:mSlgd.6459$Es2.1...@twister2.libero.it...


 Voi nella maggior parte dei casi che fate?
vecchio problema consulta i post passati!.....
comunque ADO implementa un meccanismo di connection pooling...che li
consente di riutilizzare le connessioni.
Se stai a quanto dice la microsoft...devi aprire e chiudere
perň...se fai una applicazione monoutente....corri il rischio di
dimenticarla aperta...o sei un pigro e ti scoccia aprirla e chiuderla.....
io ....in genere...apro e chiudo....addirittura talvolta distruggo proprio
con =nothing.....meglio non avere a giro per la ram...quello che non serve!
Questo perň č IMHO!
-- 
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 con =nothing.....meglio non avere a giro per la ram...quello che non serve!
Ah beh questo è scontato.
Il mio solito codice:
Set RS = New ADODB.Connection
RS.Open "SELECT...", ConnMain, ..., ....
While Not RS.EOF
...
Wend
RS.Close
Set RS=Nothing
-- 
Quando noi ignoranti eravamo di più, tutto era più bello (A. Celentano).


 Andrea
Ciao,
Darkbyte
-- 
Quando noi ignoranti eravamo di più, tutto era più bello (A. Celentano).


 Ciao!
Ciauz!
-- 
Quando noi ignoranti eravamo di più, tutto era più bello (A. Celentano).


 Voi nella maggior parte dei casi che fate?
Un misto.
Nel senso che apro una connessione all'inizio, e la chiudo alla fine.
Ma tutti i comandi che eseguo sul db prevedono un test dello stato della
connessione, prima di eseguire.
Questo, perchè la connessione può cadere per decine di motivi, e un
applicativo che si inchioda se cade la connessione non è ammissibile.
Costruendo le cose in questo modo, tu hai la facoltà di chiudere la
connessione ogni volta tu ritenga di non averne più bisogno per un po',
tanto qualunque sia la situazione successiva, la connessione verrà riaperta
al bisogno.
Quindi, se sei in una schermata in cui l'operatore interagisce parecchio col
db, lascio la connessione aperta. Se invece il sistema è 'in attesa', ad
esempio in una schermata di menu, posso anche chiudere la connessione.
Ciao
Alberto
--
E tutto mi sembrava andasse bene...