Newsgroup: it.comp.lang.visual-basic
Titolo: Durata delle connessioni

Ringraziando per gli aiuti ricevuti in risposta ad un mio messaggio di oggi,
tento con un'altra domanda.
Vorrei capire i pro ed i contro utilizzando le connessioni in questi modi,
vorrei capire qual'e' il metodo corretto per gestire la "vita" di una
connessione:
- ne apro una e la tengo aperta per tutta la durata del programma
- la apro nel load del form e la chiudo nell'unload (questo per ogni form in
cui devo interagire con il db)
- le apro e chiudo a livello di routine, giusto il tempo di aprire il
recordset per leggere i dati o per effettuare modifiche al db
A logica preferirei la terza, sbaglio?
--
Fabio Musciatelli

[*Fabio Musciatelli* : 
musc...@tiscalinet.it
] ha scritto:

La terza mi sembra troppo dispendiosa.
La seconda è probabilmente quella che rappresenta il miglior compromesso.
Ehm, ... io, per pura pigrizia, comodità e disponibilità generale (sono
oggetti globali), uso la prima.

Fabio Musciatelli wrote:
non ho letto i tuoi post precedenti....
si parla di ADO no?
e caso mai non con access (che non fa che una soluzione di compromesso)
e caso mai non per un accesso monoutente
nel qualcaso non ti stare a sbattezzare + di tanto aprila nella sub main e
chiudila quando termina il programma!
MA
nel caso di più accessi (tipico ASP + ADO + Sql/Access/altroDB)
Conn.apre
recordset.apre
 Fai quello che devi fare
recordset.chiude
conn.chiude
questo perchè ADO  (e 
ado.net
) ha il meccanismo del pool di connessioni che
permette di riutilizzare la tua conn quando non ti serve + per servire altri
utenti!
riferimenti e link utili:
l'illuminante "dip in the pool"
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvbdev00/h
tml/Rob.asp
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com
:
80/support/kb/articles/Q191/5/72.ASP&NoWebContent=1
http://www.visualbasic.it/GetDocument.ASP?idDocument=13
per il NET
http://www.microsoft.com/italy/sql/using/articoli/2002/giugno/020602.asp
http://asia.cnet.com/itmanager/tech/0,39006407,39117800,00.htm
Bye!
p.s.
non ti deve spaventare scrivere codice in più...se ne vale la pena!
Fatti un funct/classe ApreConn  e ritorna un oggetto connection!
si tratterà di fare
inizio prog
Set myCn=ApreConn
    .........quello che devo fare
myCn.close
--
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

 A logica preferirei la terza, sbaglio?
Utilizzo la prima per varie ragioni... naturalmetne i recordset vengono
aperti solo quando servono e chiusi immediatamente dopo l'utilizzo! :)



Ho fatto qualche ricerca su msdn, mi pare di aver visto che consigliano di
usare la terza soluzione. In un programma fatto per gioco, in cui con ADO
andavo a leggere un archivio mysql, usavo il primo metodo... pero' ogni
tanto, specie se lasciavo in pausa il programma per un pò, quando andavo a
fare un'operazione che richiedeva una modifica dei dati ricevevo un
messaggio che parlava di errore sulla connessione (qualcosa di simile)...
ripetendo l'operazione tutto si sistemava, mah...quindi immagino che
aprendola e richiudendola questo non dovrebbe accadere.
In ogni caso grazie per l'aiuto....
--
Fabio Musciatelli

Io uso DAO con Access e visto che l'uso del mio programma è principalmente
monoutente, apro la connessione nella Sub Main e la chiudo con la chiusura
del programma.
Ciao, Vincenzo