82 messaggi dal 12 novembre 2007
Salve, ho diversi progetti .net (1 windows application, 1 sito MVC, e diversi servizi) che utilizzano la tecnologia ADO per accedere al DataBase SQL Server 2008 R2.
Sporadicamente ho un timeout in una chiamata ad una procedura (io utilizzo le Stored Procedure per tutte le procedure da fare sui dati), una volta che ho avuto questo timeout, tutte le chiamate successive hanno un timeout, e finché non riavvio il servizio di SQL SERVER non riesco a far rifunzionare il tutto.

sapreste aiutarmi a capire il motivo?

grazie mille
Simone
1.976 messaggi dal 27 luglio 2005
Contributi
salve Simone,
secondo me c'e' un "problema" con la connessione...
dopo il timeout, verifica che lo stato della tua connessione sia ancora "open"...
mi pare impossibile si debba riavviare addirittura il servizio...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
82 messaggi dal 12 novembre 2007
Allora, io utilizzo una classe per l'accesso ai dati, e viene utilizzata da tutti i vari progetti in ballo. Come faccio a verificare che lo stato della connessione sia ancora "open"?

Quel che è strano è che se avviene un timeout, le chiamate alle stored successive funzionano quasi tutte, a meno di quelle che fanno riferimento alle stesse tabelle in ballo.
Faccio un esempio: ho un timeout su una Stored Procedure che estrae dati dalla tabella TbSchede, alle chiamate successive se la stored fa riferimento alla tabella TbSchede allora avrò un errore, altrimenti la esegue correttamente.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,

ah.....
qui mi sa che la colpa possa essere di ADO, almeno in un qualche modo... e come ben saprai la relativa tecnologia e' desueta e neanche in manutenzione, quindi non aspettarti aggiornamenti...
personalmente proverei a testare lo stato della connessione nel relativo error handler di esecuzione, ed in caso chiuderei rilascerei e riaprirei la connessione...
in ogni caso, penserei seriamente a passare ad Ado.Net..
saluti
Modificato da Andrea Montanari il 03 gennaio 2013 19.08 -

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
82 messaggi dal 12 novembre 2007
Scusa, forse non sono stato chiaro, utilizzo già la tecnologia Ado.Net
;)
1.976 messaggi dal 27 luglio 2005
Contributi
salve Simone,
in apertura dicevi ADO :)

al di la' di cio', la visione del problema non e' immediata... come workaround, di nuovo, consiglierei di trappare l'eccezione nell'apposito error handler e provvedere alla distruzione rilascio e allocazione di una nuova connection, ma per vedere dove sia il problema dovresti mettere in piedi una traccia con Trace di SQL Server filtrando magari per il nome della procedura che fallisce e vedere cosa succede, tanto piu' che riscontri il problema solo "sporadicamente"... e' questo "sporadicamente" che come ben gia' sai non aiuta affatto ad individuare il problema...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

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.