257 messaggi dal 08 gennaio 2011
Ciao,
vi voglio raccontare un esperienza fatta con un db Azure Sql Server avente come piano tariffario Standard S0 10 dtu, nella speranza di ottenere da voi delucidazioni o considerazioni.

In pratica è successo che collegandomi al db da un'applicazione desktop WPF tramite l'uso diretto delle classi di System.Data.SqlClient (no EF), eseguendo su di un SqlCommand avente CommandType impostata su Text una query di selezione che avrebbe dovuto restituire circa 40k di righe riempendo una DataTable mediante l'uso del metodo Load, ho ottenuto dopo una 'lunga attesa' un errore di TimeOut.

Non sapendo che fare, ho deciso di modificare l'SqlCommand impiegando una StoredProcedure al posto del testo. Così facendo ho 'risolto' nel senso che ricevevo le 40k righe senza errori.

Col passare del tempo e con l'aumento quindi della quantità di righe restituite dalla query, anche questo approccio è risultato fallimentare perchè ricevevo sempre il solito errore di timeout.

Se però, eseguivo la stessa stored procedure da Management Studio, ottenevo tutte le righe senza problemi.

Chissà perchè ?

Ciao, grazie.
257 messaggi dal 08 gennaio 2011
Forse non è il massimo usare una DataTable meglio un Datareader. Comunque stessa prova fatta oggi che le righe sono 57K e nessun errore ricevuto. Deduco che dipenda dalla disponibilità della rete.
708 messaggi dal 13 novembre 2008
Contributi
SqlCommand ha una impostazione di Timeout

SqlCommand sqlCom = new SqlCommand();
sqlCom.CommandTimeout =x;

hai provato a settarla su tempi più lunghi?
257 messaggi dal 08 gennaio 2011
Si, avevo provato ma ottenevo sempre lo stesso errore.
La cosa strana è che due giorni fa mentre le righe erano diventate 57k via app le ottenevo senza problemi.

Grazie dell'attenzione.

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.