Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Source Error:
Line 91:
Line 92: DataSet getData;
Line 93: getData = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString, CommandType.StoredProcedure, "Course_NewReportGet_Get_Sav", objPara);
Line 94:
Line 95: foreach (DataRow dr in getData.Tables[0].Rows)
Source File: c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs Line: 93
Stack Trace:
[SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950890
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846875
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33
System.Data.SqlClient.SqlDataReader.get_MetaData() +83
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +130
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +94
Mexico.Data.SqlHelper.ExecuteDataset(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) +149
Mexico.Data.SqlHelper.ExecuteDataset(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) +93
admin_tools_Optimus.GetUsers() in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:93
admin_tools_Optimus.GetCompanies() in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:75
admin_tools_Optimus.Proceed(Object sender, EventArgs e) in c:\Users\Ryan\bancroft archive\santiago\santiago code\trunk\admin\tools\Optimus.aspx.cs:43
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
risposta
Forse questo non si applica, ma penso che dovrebbe essere menzionato comunque. CommandTimeOut predefinito è 30 secondi. Questo dovrebbe essere un sacco di tempo per qualsiasi azione che sta accadendo nel 99,9% di un'applicazione web. A meno che tu non sia assolutamente sicuro che l'azione debba richiedere più tempo, dovresti passare il tuo tempo a cercare di ottimizzare lo sql in modo che ritorni in < 30 secondi. L'indicizzazione corretta è un buon punto di partenza per questo.
questo è in realtà un affare una tantum, sto provando a fare una massiccia conversione dei dati ma continua a cronometrare, anche dopo aver impostato il timeout a 5000 – BigOmega
@Ryan: se si tratta di un accordo una tantum, usa il gestore sql per eseguire la query o le query. –
Buona raccomandazione, ma sfortunatamente non risponde alla domanda dell'OP. Esistono numerosi casi in cui l'esecuzione di una query molto lunga su un DB è l'unica opzione possibile. Cambiando SqlCommand.CommandTimeout funzionerà in questo caso. –
È possibile eseguire questa operazione aggiungendo "Connect Timeout = 90" alla stringa di connessione. Se la tua query impiega più di 30 secondi, dovresti davvero prendere in considerazione l'ottimizzazione della query in qualche modo. Potrebbe essere necessario aggiungere gli indici o creare una vista, ecc.
Modificato per correggere il problema indicato dai commenti @Stijn.
ConnectionTimeout è una proprietà di sola lettura. – Stijn
aggiungendo un "timeout di connessione" alla stringa di connessione risolverà i problemi con la connessione al database e non i timeout durante l'esecuzione del comando SQL. Dovresti impostare SqlCommand.CommandTimeout per quello – dotnetguy
@Stijn, j0tt ha ragione nel fatto che puoi benissimo impostare il timeout di connessione tramite la stringa di connessione. Guarda connectionstrings.com per gli esempi – dotnetguy
È possibile aumentare il periodo di timeout sul comando impostando la proprietà SqlCommand.CommandTimeout.
So che questo è vecchio ma voglio un voto negativo (ma non posso a causa della mia bassa reputazione). Non può usare "SqlCommand.CommandTimeout" perché utilizza la classe SqlHelper di Microsoft.ApplicationBlocks.Data. – Dobermaxx99
+1 a Al perché 30 secondi dovrebbero essere abbondanti. Rendere il periodo di timeout più lungo è in realtà solo una benda al problema sottostante.
In base alla mia esperienza, il proc memorizzato è troppo costoso il 90% delle volte. Quando stavo rivedendo questi ultimi errori, avevo una regola generale che nessun processo memorizzato costava più di 1,00. Più sono costosi, maggiore è il rischio di bloccare e generare queste eccezioni.
Come fai a sapere quali sono i criteri di prestazione per questa routine? Forse è un lavoro in background che fa molto in uno Stored proc –
Quindi chiaramente questo consiglio non si applica. Caveat emptor. –
Poi inserirlo nella stringa di connessione:
server={servername};database={dbname};uid={username};pwd={password};Connect Timeout=600
L'OP non sta cercando di scoprire come aumentare il timeout del comando? Non puoi cambiarlo dalla stringa di [email protected] La risposta di Alioto è la più vicina a ciò che viene chiesto – dotnetguy
la query utilizzata non è stato ottimizzato per la quantità di dati. Nel nostro caso abbiamo cancellato i dati non utilizzati, ma un'opzione migliore dovrebbe essere l'ottimizzazione della query o per dare un'occhiata al servizio di pulizia. Dopo l'azione non abbiamo più ricevuto l'errore. Ovviamente dipende dalla situazione in cui ricevi questo errore e se questa soluzione ti aiuterà.
- 1. SQL - Procedura memorizzata chiamata per ogni record
- 2. elastico distribuzione beanstalk più tempo del periodo di timeout, come faccio ad aumentare il periodo di timeout
- 3. procedura memorizzata chiamata oracle all'interno select
- 4. Codice Procedura memorizzata prima chiamata per restituire più risultati
- 5. Come posso aumentare il timeout per un cronjob/crontab?
- 6. Come chiamare la procedura memorizzata da sospensione?
- 7. Servizio WCF, come aumentare il timeout?
- 8. La procedura memorizzata MySQL sta causando problemi?
- 9. come aumentare il timeout della maglia WS
- 10. Procedura memorizzata più eseguita?
- 11. Come chiamare la procedura memorizzata MySQL da Rails?
- 12. Come aumentare il periodo di timeout del servizio web in asp.net?
- 13. Periodo di timeout del semaforo
- 14. Procedura memorizzata IF/ELSE
- 15. Chiamare la procedura memorizzata con il parametro Out utilizzando PDO
- 16. Chiamare una procedura memorizzata python
- 17. Come aumentare la direttiva di timeout di apache in .htaccess?
- 18. Come aumentare il timeout in CasperJS
- 19. Chiamata alla procedura memorizzata con un ISNULL nel compito. Sintassi non valida?
- 20. Cambia il definer della procedura memorizzata
- 21. Valore restituito procedura memorizzata PDO
- 22. Come è possibile aumentare il timeout in Linq2Entities?
- 23. Procedura consigliata per la procedura memorizzata? Dovrebbero controllare se esistono chiavi esterne prima di inserire?
- 24. CLR Debugger, ASP.NET - come aumentare il timeout?
- 25. La procedura memorizzata MySQL non riesce se richiamata da R
- 26. Come posso modificare una procedura memorizzata?
- 27. aggiunta di una colonna nella procedura memorizzata
- 28. Qual è la sintassi per definire una procedura Oracle all'interno di un'altra procedura memorizzata?
- 29. Come aumentare il timeout della sessione della griglia di selenio?
- 30. Come prolungare il timeout di una query SQL
Proprietà ConnectionTimeout è di sola lettura. –