37 messaggi dal 20 settembre 2002
ciao a tutti,
ho un problema che riguarda le connessioni aperte.
avendo ricevuto in eredità un'applicazione asp con db access
vorrei testare la stessa "scovando" eventuali connessioni che nn vengono chiuse...esiste un modo per visualizzare il totale delle connessioni rimaste aperte magari stampando a video?
grazie in anticipo
710 messaggi dal 13 novembre 2008
Contributi
non so se sia l'approccio corretto, anche se fosse, e comunque dovresti toccare il codice per ottenere il risultato, quando hai il totale in mano?

Per toccare il codice comunque, allora andrei a verificare se effettivamente le conn vengono chiuse correttamente,lo so è lungo...

Certo se invece di Access usassi ad es. SqlServer allora potresti effettivamente avere qualche dato in più a disposizione sulle connessioni correnti
37 messaggi dal 20 settembre 2002
ciao
intanto grazie per la risposta
mi sono spiegato male
io posso agire sul codice ed è per questo che voglio vedere se e quante ne restano aperte avendo però il totale su una pagina che apro mentre gli altri utenti operano sulle varie pagine dell'applicazione...vorrei capire se i problemi che riscontro sono sulla mancata chiusura delle connessioni..
e a tal proposito mi chiedo...
controlalndo il codice...ogni volta che vedo set rs=objconn.execute(stringasql) la chiudo subito dopo con un set rs=nothing e rs=close
e a fine pagina un objconn=nothing e objconn=close
o c'è una procedura o ordine piu' corretto?
grazie in anticipo!
710 messaggi dal 13 novembre 2008
Contributi
è un bel po' che non manneggio asp, ma a mente direi, prima close poi nothing
37 messaggi dal 20 settembre 2002
sempre grazie!
cmq l'ordiene è nothing e poi close se no mi da errore...
ma quello che nn ricordo è forse nel principio di apertura...
la situazione attuale nelle pagine e funzioni in cui apre e chiude regolarmente è la seguente:

apertura connessione objconn

[...]
apertura record set rs=objconn.execute(stringa)
chiuseura record set rs=nothing, rs=close
[...]
apertura record set rs=objconn.execute(stringa)
chiuseura record set rs=nothing, rs=close
[...]
apertura record set rs=objconn.execute(stringa)
chiuseura record set rs=nothing, rs=close
[...]

chiusura connessione objconn

è corretto così o dovrei chiudere objconn dopo ogni chiusura del record set?

grazie in anticipo
710 messaggi dal 13 novembre 2008
Contributi
situazione 'standard'


Dim cn, rs
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open stringa di connessione
rs.Open "stringa sql...", cn, 1

' Utilizzo degli oggetti Connection e Recordset...

rs.Close
Set rs = Nothing

cn.Close
Set cn = Nothing

certo è che se tieni aperta una conn per fare 200 query....
magari è lì il problema delle tue conn appese


http://asp.html.it/guide/lezione/2055/oggetto-recordset/
37 messaggi dal 20 settembre 2002
Grazie ancora per la pazienza...
quello che però vorrei sapere...è se il rilascio della risorsa avviene con la chiusura del record set o della connessione...
quello che vorrei sapere è se objconn (nel tuo esempio cn) va bene che sia aperta all'inizio della pagina e chiusa alla fine, e nel mezzo
cicli e utilizzo del recordset, prontamente chiuso dopo l'utilizzo
scusami se approfitto della tua disponibilità!
quello che ho io nello specifico in una pagina è appunto:

set objconn= server.createobject("adodb.connection")
objconn.open "Provider=microsoft.jet.oledb.4.0; data source= " & Server.mappath("db.mdb")


sql=query1
set rs=objconn.execute(sql)
-se esiste utilizzo rs con ciclo while
set rs=nothing
rs=close
....
sql=query2
set rs=objconn.execute(sql)
-se esiste utilizzo rs
set rs=nothing
rs=close

objconn.close
set objconn=nothing

ti prego di avere pazienza, la domanda è appunto va bene così o dovrei chiudere objconn dopo ogni chiusura di rs per liberare le risorse di connessione nel modo corretto?
grazie!
Modificato da nulla74 il 02 novembre 2010 13.49 -
710 messaggi dal 13 novembre 2008
Contributi
in linea teorica dovresti lasciare aperta la connessione il minor tempo possibile per eseguire le tue operazioni

io aprirei farei la query e chiuderei e così via

cercherei però soprattutto di capire se c'è un modo per eliminare alcune query magari impostando diversamente la prima, e non utilizzeri filtri ma farei le SELECT solo dei campi che realmente mi interessano

eppoi prima va chiuso e poi cancellato il recordset

rs.Close
Set rs = Nothing

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.