9 messaggi dal 21 novembre 2001
Ho un problema di Connessione su un db access un pò particolare:

Apro il db acces tramite un dns(dopo aver creato l'oggetto):

conn.Open "report" 'dsn creato che punta al db

Creo il recordset, faccio le varie operazione che mi servono (estrazione di dati su una tabella)

chiudo il recordset, la connessione e li setto a nothing

rs.Close
conn.Close
set rs=nothing
set conn=nothing

Qual'è il problema? che la prima volta che eseguo la pagina va tutto ok.
Se provo a ripeterla immediatamente mi da un errore sulla connessione del tipo:

Provider error '80004005'
Unspecified error
/AI/reportamm.asp, line 29

La linea 29 è quella dell'apertura della Connessione.

Se attendo un pochino, e ricarico la pagina funziona tutto come prima!!! ovviamente solo per la prima volta!!

Ho controllato sia la connessione che il recordset a fine pagina, lo state rimane a 0, quindi sono chiusi.
Ma si comporta come se la connessione in realtà rimanesse aperta!

Da cosa cavolo può dipendere?




Attenzione, quando magari esegui un' operazione che non va a buon fine, tipo una select devi gestire le condizioni di EOF. Se la tua query va in EOF o genera errori, non viene neanche 'aperta', quindi l' istruzione .CLOSE va in errore. Non so se sia questo il problema, però...

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
9 messaggi dal 21 novembre 2001
Ho controllato lo state del recordset e della connessione prima e dopo la chiusura degli stessi.

Prima sta per entrambi a 1, dopo a 0, quindi apre e chiude sia la connessione che il recordset (la prima volta).

e anche la query mi tira giù risultati.

Ho provato ad utilizzare anche un
if rs.eof then exit for
per evitare problemi del genere.

Ma niente da fare, è come se qualcosa mi rimanesse allocato in memoria, basta aspettare un pò di tempo e tutto riparte regolare...
9 messaggi dal 21 novembre 2001
Allora, ha ripreso tutto regolarmente a funzionare.
L'unica cosa che ho fatto è stata quella di eliminare il dsn precedente e ricostruirlo identico a prima.
Lo so, è assurdo, ma evidentemente perdeva la connessione al dsn per qualche strano motivo.
Per la serie i misteri dell'informatica.
Grazie comunque per l'aiuto
:)

(spero ovviamente che tutto continui a funzionare in maniera corretta..)


55 messaggi dal 06 settembre 2002
Ho avuto lo stesso problema anche Io e come te non riesco a spiegarmi perchè sia successo e come si sia risolto.
Mi associo anch'Io ai misteri dell'informatica
AndreaB29

20 messaggi dal 19 novembre 2001
Anche io ho lo stesso problema su Win2000/Access2000.
L'oggetto Connection di ADO sembra blocchi in modo esclusivo il database e non lo rilasci.
Per ora uso solo l'ogetto Recordset, impostando per la connessione l'attributo ActiveConnection e in questo modo sembra funzionare.
So che è un modo un pò limitativo per aggirare il problema, ma se qualcuno ha un'idea migliore.... è il benvenuto.
Ciao.



9 messaggi dal 21 novembre 2001
Mmm pensandoci sopra il problema (almeno per me) era dovuto ad aver tenuto aperti vari progetti Visual Basic in Run-Time.
Mi hanno detto che quando girano in run-Time e non su dll, possono creare problemi del genere.


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.