首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DBLinq查询超时报错误

2013-04-07 
DBLinq查询超时报异常项目中使用的是DBLinq,查询大量数据时出现异常,如下:Error Message:Timeout expired.

DBLinq查询超时报异常
项目中使用的是DBLinq,查询大量数据时出现异常,如下:
Error Message:Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader()
   at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
   at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
   at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
   at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
   at Att.DataAccess.DALAttendace_Report.SelectAttendanceReportsData(String countryCode, String SwipeLocCode, List`1 StafflocCode, List`1 deptCode, String staffID, String staffName, String statusCode, DateTime beginDate, DateTime endDate, Int32 Status_ID) in D:\????\Attendance_HRMS\Attendance\DataAccess\DALAttendace_Report.cs:line 572
   at Att.BLL.BLLAttendace_Report.SelectAttendanceReportsData(String countryCode, String SwipeLocCode, List`1 StafflocCode, List`1 deptCode, String staffID, String staffName, String statusCode, DateTime beginDate, DateTime endDate, Int32 Status_ID) in D:\????\Attendance_HRMS\Attendance\BLL\BLLAttendace_Report.cs:line 67
   at Enquiry_HR_Daily_Report.selectReportInfo(String s_date, String e_date) in c:\CF_UAT\wwwroot\HK_Attendance\Enquiry\HR_Daily_Report.aspx.cs:line 281




这网上能找到SQL出现超时异常处理方法,但是不知道使用DBLinq怎样处理?
[解决办法]
超时了
把SqlCommand.TimeOut设大点,默认是30秒,你设成30000
[解决办法]
诸如分页之类的查询,可使用 .SKIP()  .TAKE() 方法 ,一次只返回一定量的数据

热点排行