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
Trả lời
Có lẽ điều này không áp dụng, nhưng tôi nghĩ nó nên được đề cập không kém. CommandTimeOut mặc định là 30 giây. Điều này sẽ mất rất nhiều thời gian cho bất kỳ hành động nào đang xảy ra trong 99,9% của một ứng dụng web. Trừ khi bạn hoàn toàn chắc chắn rằng hành động sẽ mất nhiều thời gian hơn thế, bạn nên dành thời gian của bạn cố gắng tối ưu hóa sql để nó trở về trong < 30 giây. Lập chỉ mục thích hợp là một nơi tốt để bắt đầu cho điều đó.
điều này thực sự là một thỏa thuận một thời gian, tôi đang cố gắng chuyển đổi dữ liệu khổng lồ nhưng vẫn giữ thời gian, ngay cả sau khi tôi đặt thời gian chờ là 5000 – BigOmega
@Ryan: Nếu đó là thỏa thuận một lần, hãy sử dụng trình quản lý sql để thực hiện truy vấn hoặc truy vấn của bạn. –
Đề nghị tốt, nhưng tiếc là nó không trả lời câu hỏi của OP. Có một số trường hợp khi chạy truy vấn rất dài đối với DB là tùy chọn duy nhất của bạn. Thay đổi SqlCommand.CommandTimeout sẽ làm việc trong trường hợp này. –
Bạn có thể thực hiện việc này bằng cách thêm "Kết nối thời gian chờ = 90" vào chuỗi kết nối. Nếu truy vấn của bạn mất hơn 30 giây mặc dù bạn thực sự nên xem xét tối ưu hóa truy vấn bằng cách nào đó. Có thể cần phải thêm chỉ mục hoặc có thể cần tạo một chế độ xem, v.v.
Chỉnh sửa vấn đề chính xác được chỉ ra bởi nhận xét @Stijn.
ConnectionTimeout là thuộc tính chỉ đọc. – Stijn
thêm một "thời gian chờ kết nối" vào chuỗi kết nối sẽ giải quyết các vấn đề với kết nối cơ sở dữ liệu và không hết thời gian chờ trong khi thực hiện lệnh SQL. Bạn sẽ cần phải đặt SqlCommand.CommandTimeout cho rằng – dotnetguy
@Stijn, j0tt là đúng trong đó bạn rất có thể thiết lập thời gian chờ kết nối thông qua chuỗi kết nối. Nhìn vào connectionstrings.com cho các ví dụ – dotnetguy
Bạn có thể tăng khoảng thời gian chờ trên lệnh bằng cách đặt thuộc tính SqlCommand.CommandTimeout.
Tôi biết điều này là cũ nhưng tôi muốn bỏ phiếu xuống (nhưng tôi không thể vì danh tiếng thấp của tôi). Anh ta không thể sử dụng 'SqlCommand.CommandTimeout' vì anh ta đang sử dụng lớp SqlHelper của Microsoft.ApplicationBlocks.Data. – Dobermaxx99
+1 đến Al vì 30 giây sẽ rất nhiều. Làm cho khoảng thời gian chờ lâu hơn thực sự chỉ là một băng cho vấn đề cơ bản.
Theo kinh nghiệm của tôi, proc được lưu trữ quá đắt 90% thời gian. Khi tôi đã xem xét các lỗi này cuối cùng, tôi đã có một quy tắc chung là không có chi phí proc được lưu trữ nhiều hơn 1.00. Họ càng đắt tiền, càng có nhiều rủi ro trong việc ngăn chặn và tạo ra những ngoại lệ này.
Làm thế nào để bạn biết tiêu chí hiệu suất là gì cho thói quen này? Có lẽ một công việc nền tảng của nó mà làm rất nhiều trong một proc lưu trữ –
Sau đó, rõ ràng lời khuyên này không áp dụng. Emptor caveat. –
Sau đó thêm nó vào chuỗi kết nối:
server={servername};database={dbname};uid={username};pwd={password};Connect Timeout=600
Không phải OP đang cố gắng tìm hiểu cách tăng thời gian chờ lệnh? Bạn không thể thay đổi điều đó từ chuỗi kết nối.Câu trả lời của @JP Alioto là gần nhất với những gì đang được hỏi – dotnetguy
truy vấn sử dụng không được tối ưu hóa cho số lượng dữ liệu. Trong trường hợp của chúng tôi, chúng tôi đã xóa dữ liệu chưa sử dụng, nhưng một tùy chọn tốt hơn nên tối ưu hóa truy vấn hoặc để xem xét việc dọn dẹp. Sau hành động chúng tôi không nhận được lỗi nữa. Ofcourse nó phụ thuộc vào tình hình mà bạn nhận được lỗi này và nếu giải pháp này sẽ giúp bạn ra ngoài.
- 1. Tôi làm cách nào để tìm các cuộc gọi thủ tục được lưu trữ?
- 2. Làm thế nào để đặt thời gian chờ cho một thủ tục được lưu trữ trong SQL Server
- 3. Thủ tục lưu trữ không đồng bộ Các cuộc gọi
- 4. Thủ tục lưu trữ sửa đổi thời gian
- 5. Entity Framework 4 Thủ tục lưu trữ Gọi Timing Out
- 6. Làm thế nào để gọi Thủ tục lưu trữ (với 2 tham số) trong một thủ tục lưu trữ?
- 7. Làm cách nào để tăng thời gian chờ trong LINq2Entities?
- 8. Làm thế nào để gọi thủ tục lưu sẵn từ một thủ tục lưu sẵn khác?
- 9. Các thủ tục được lưu trữ là thời gian không liên tục!
- 10. Gọi một thủ tục lưu trữ python
- 11. Tăng lỗi hết thời gian chờ 504
- 12. Làm thế nào để gọi Thủ tục được lưu trữ trong Chế độ xem?
- 13. Thủ tục lưu trữ Vs. Xem
- 14. Gọi thủ tục lưu trữ từ một thủ tục lưu trữ SQL Server
- 15. Làm thế nào để lưu một thủ tục lưu trữ?
- 16. Gọi thủ tục lưu trữ trong một thủ tục được lưu trữ trong MySQL
- 17. cách tăng thời gian chờ của WS WS
- 18. Làm cách nào để gọi thủ tục được lưu trữ với các tham số độc đáo?
- 19. Làm cách nào để kết hợp các tập hợp kết quả từ hai cuộc gọi thủ tục được lưu trữ?
- 20. Cách kéo dài thời gian chờ của truy vấn SQL
- 21. Làm thế nào để xem Oracle lưu trữ thủ tục bằng cách sử dụng SQLPlus?
- 22. Làm thế nào để gọi thủ tục lưu trữ MySQL từ Rails?
- 23. làm thế nào để printf trong thủ tục lưu trữ oracle (cho mục đích gỡ lỗi)?
- 24. Làm cách nào để gọi thủ tục lưu trữ MySQL từ Perl?
- 25. Làm thế nào để bạn gỡ lỗi thủ tục lưu trữ MySQL?
- 26. Cách tăng thời gian chờ trong CasperJS
- 27. Tìm tất cả các cuộc gọi Thủ tục lưu trữ MySQL?
- 28. Cấu hình để gỡ lỗi thủ tục lưu trữ
- 29. Cuộc gọi không đồng bộ của thủ tục lưu sẵn SQL Server trong C#
- 30. Sử dụng DateTime trong một SqlParameter cho thủ tục lưu trữ, lỗi định dạng
Thuộc tính ConnectionTimeout chỉ đọc. –