Problema con timeout connessione sql server

lunedì 21 luglio 2008 - 17.55

toyo86 Profilo | Junior Member

ciao a tutti...
la mia situazione attuale è SQLSERVEREXPRESS perfettamente funzionante..
ho scritto una piccola applicazione in c# che fa eseguire delle query a un server per fargli importare i dati...
la query in questione è ti tipo

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

questa query funziona se eseguita direttamente su sql server, ma sono obbligato a farla eseguire da un programma c#..
questa query non da nessun problema con 8 delle mie 9 tabelle; da invece questo errore:

Error#0 Message: Timeout. Il tempo disponibile è scaduto prima del completamento dell'operazione o il server non rispone.
Error#1 Message: L'istruzione è stata interrotta.

il mio problema sta nel fatto che la tabella che devo aggiornare contiene 632763 record..e devo importarli tutti necessariamente..quindi immagino che il timeout dia dovuto alla grande (abbastanza) mole di dati che deve importare..e mi chiedevo..
come posso risolvere questo problema?ripeto che non posso non eseguire questa query se non via programma c#..

grazie!

lbenaglia Profilo | Guru

>come posso risolvere questo problema?ripeto che non posso non
>eseguire questa query se non via programma c#..
Aumentando il SqlCommand.CommandTimeout che di default vale 30 secondi:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtimeout.aspx

>grazie!
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

toyo86 Profilo | Junior Member

mi sconsigli di usare il valore 0? perchè a priori non so quanto ci metterà..e un altra cosa..non capisco come impostare questa proprietà...se io ho il mio oggetto SqlConnection cn = new SqlConnection (connectionString);
dove connectionString è la mia stringa di connessione ovviamente...come imposto il timeout?grazie ma dal bol proprio non capisco..ah..lavoro in c#
grazie..

lbenaglia Profilo | Guru

>mi sconsigli di usare il valore 0? perchè a priori non so quanto
>ci metterà..
Non ti sconsiglio niente

>e un altra cosa..non capisco come impostare questa
>proprietà...se io ho il mio oggetto SqlConnection cn = new SqlConnection
>(connectionString);
>dove connectionString è la mia stringa di connessione ovviamente...come
>imposto il timeout?
Esegui la query attraverso un oggetto SqlCommand e prima di richiamare il metodo ExecuteNonQuery valorizza opportunamente la proprietà CommandTimeout.

>grazie..
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5