Connection : aprire solo quando serve ?

domenica 08 gennaio 2012 - 12.33
Tag Elenco Tags  VB.NET

massimo1965 Profilo | Junior Member

Ciao a tutti,
scusate l'oggetto poco chiaro, ma il tutto nasce da fatto che stiamo considerando la migrazione di un nostro software Vb6 costituito da circa 200/250 dll che utilizzano una connessione ad un db attivata da un programma , diciamo main, che a sua volta richiama queste dll e "passa" la connessione al db.
menu principale
apertura della connessione al db (sql 200x)
lancio della dll
chiusura della dll
...
quando chiudo il menu principale, chiudo anche la connessione.
In questo modo apro la connessione al db una sola volta e la lascijavascript:ins('ctl00_Content_ctl00_txtBody','')o attiva per tutto il tempo.(giusto o sbagliato che sia)
Adesso dovendo migrare a NET e volendo utilizzare le dll VB6 in attesa di essere migrate, abbiamo scoperto che possiamo lanciarne solo una alla volta con ovvi problemi di gestione, visto che prima non sussisteva questa limitazione (al cliente è difficile spiegare certi tecnicismi....)

Da qui pensavo di lanciare le dll da NET mediante un exe vb6, che a sua volta lancia la dll, creando un thread, solo che per evitare di tenere aperte "enne" connessioni, pensavo di aprire e chiudere la connessione solo quando realmente è necessario. tenendo conto che gli aggiornamenti alle tabelle non vengono mai eseguiti sui recordet ma solo tramite query sql (INSERT,UPDATE e DELETE) non dovrei avere grossi problemi.

Detto tutto questo, e ringrazio fin d'ora chi ha letto tutto quanto, la domanda è :
Aprire e chiudere continuamente una connessione ad un data base e usare recordset useclient può essere deteriorante per il sistema in termini di utilizzo e prestazioni ?

Ringrazio per la pazienza.
Massimo






Jeremy Profilo | Guru

Ciao Massimo
>Aprire e chiudere continuamente una connessione ad un data base
>e usare recordset useclient può essere deteriorante per il sistema
>in termini di utilizzo e prestazioni ?
Non credo che ci siano problemi in questo senso ..... piuttosto, se ho capito bene hai intenzione di implementare un sistema multithreading, potresti correre il rischio che 2 o più processi tentino di aprire la connessione allo stesso DB nello stesso momento.

Facci sapere....
Ciao

massimo1965 Profilo | Junior Member

Ciao
e grazie..
cosa intendi : "potresti correre il rischio che 2 o più processi tentino di aprire la connessione allo stesso DB nello stesso momento." ...

M




Jeremy Profilo | Guru

Ciao
Nel senso che non credo tu possa tenere "enne" connessioni aperte .....

massimo1965 Profilo | Junior Member

infatti,
in questo modo, chiudendo la connessione dopo ogni richiesta dovrei "teoricamente" diminuire anche il numero delle connessioni aperte ...
Ti ringrazio.

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5