vb 服务器无响应,vb.net - 超时已过期。 操作完成之前经过的超时时间或服务器没有响应 - 堆栈内存溢出...

我不确定这是VB.NET错误还是SQL Server。 但我得到以下错误与以下堆栈跟踪:

[SqlException(0x80131904):超时已过期。 操作完成之前经过的超时时间或服务器没有响应。]

System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔breakConnection)1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔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,字符串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数据集,DataTable [] datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand命令,CommandBehavior行为)+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

GlobalFunctions.GlobalF.GetComplaintTrendingList6(DateTime FirstMonth,DateTime LastMonth,Int32 rowLevel)+489

ASP.website_complaints_complainttrendinglist6_aspx.Main()在E:\\的Inetpub \\ amdmetrics-d.web.abbott.com \\ wwwroot的\\网站\\投诉\\ ComplaintTrendingList6.aspx:在电子94 ASP.website_complaints_complainttrendinglist6_aspx.Page_Load(对象发件人,EventArgs的E):\\ inetpub \\ amdmetrics-d.web.abbott.com \\ wwwroot \\ Website \\ Complaints \\ ComplaintTrendingList6.aspx:60 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)+14 System.Web .Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)+35

System.Web.UI.Control.OnLoad(EventArgs e)+99

System.Web.UI.Control.LoadRecursive()+50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+627

这是在Microsoft .NET Framework版本:2.0.50727.3620; ASP.NET版本:2.0.50727.3618和SQL Server 2008.它标记导致此错误的行说:

1: PrintMessageGrid.DataSource = GlobalFunctions.GlobalF.GetComplaintTrendingList6(FirstMonthDate, LastMonthDate, TheLevel)

即使我可以在查询分析器中运行此存储过程,它将在8秒后返回。 可能是什么原因和修复?

这里是我声明这个函数的更多细节:

Public Shared Function GetComplaintTrendingList6(ByVal FirstMonth As DateTime, ByVal LastMonth As DateTime, ByVal rowLevel As Integer) As DataSet

Dim DSPageData As New System.Data.DataSet

Dim param(2) As SqlClient.SqlParameter

param(0) = New SqlParameter("@FirstMonthDate", SqlDbType.DateTime)

param(0).Value = FirstMonth

param(1) = New SqlParameter("@LastMonthDate", SqlDbType.DateTime)

param(1).Value = LastMonth

param(2) = New SqlParameter("@TheLevel", SqlDbType.Int)

param(2).Value = rowLevel

''# A Using block will ensure the .Dispose() method is called for these variables, even if an exception is thrown

''# This is IMPORTANT - not disposing your connections properly can result in an unrespsonsive database

Using conn As New SQLConnection(ConfigurationSettings.AppSettings("AMDMetricsDevConnectionString")), _

cmd As New SQLCommand("ComplaintTrendingList6", conn), _

da As New SQLDataAdapter(cmd)

cmd.CommandType = CommandType.StoredProcedure

cmd.Parameters.AddRange(param)

da.Fill(DSPageData)

End Using

Return DSPageData

End Function

奇怪的是,如果我在我的存储过程中做了这个小改动,它会通过,但不会给我我想要的数据:没有错误,但是这个版本没有给我我想要的东西:

SELECT E.PRODUCT_GROUP, a.QXP_SHORT_DESC, COUNT(DISTINCT A.QXP_EXCEPTION_NO), A.QXP_REPORT_DATE, DATEADD(M, DATEDIFF(M, 0, A.QXP_REPORT_DATE), 0) AS STARTDATE

FROM ALL_COMPLAINTS A

LEFT OUTER JOIN SMARTSOLVE.V_QXP_ISSUE_REF D ON A.QXP_ID = D.IRF_QXP_ID

INNER JOIN CT_ProductFailures b ON b.old_modes = a.qxp_short_desc

LEFT OUTER JOIN [MANUAL].PRODUCTS E ON A.EPA_PRD_CODE = E.LIST_NUMBER

LEFT JOIN SMARTSOLVE.V_CXP_CUSTOMER_PXP C ON A.QXP_ID = C.QXP_ID

INNER JOIN @SelectedLevels F ON A.[LEVEL] = F.LevelId

WHERE --[LEVEL] > 0 AND

(A.QXP_SHORT_DESC <> 'Design Control')

and A.QXP_REPORT_DATE >= @OneYearAgo AND A.QXP_REPORT_DATE <= @LastMonthDate

AND (C.QXP_EXCEPTION_TYPE <> 'Non-Diagnostic' OR C.QXP_EXCEPTION_TYPE IS NULL)

GROUP BY E.PRODUCT_GROUP, A.QXP_REPORT_DATE, A.QXP_SHORT_DESC

导致错误的存储过程:

INSERT #PVAL_NUM

SELECT E.PRODUCT_GROUP, b.new_modes 'QXP_SHORT_DESC', COUNT(DISTINCT A.QXP_EXCEPTION_NO), A.QXP_REPORT_DATE, DATEADD(M, DATEDIFF(M, 0, A.QXP_REPORT_DATE), 0) AS STARTDATE

FROM ALL_COMPLAINTS A

LEFT OUTER JOIN SMARTSOLVE.V_QXP_ISSUE_REF D ON A.QXP_ID = D.IRF_QXP_ID

INNER JOIN CT_ProductFailures b ON b.old_modes = a.qxp_short_desc

LEFT OUTER JOIN [MANUAL].PRODUCTS E ON A.EPA_PRD_CODE = E.LIST_NUMBER

LEFT JOIN SMARTSOLVE.V_CXP_CUSTOMER_PXP C ON A.QXP_ID = C.QXP_ID

INNER JOIN @SelectedLevels F ON A.[LEVEL] = F.LevelId

WHERE --[LEVEL] > 0 AND

(A.QXP_SHORT_DESC <> 'Design Control')

and A.QXP_REPORT_DATE >= @OneYearAgo AND A.QXP_REPORT_DATE <= @LastMonthDate

AND (C.QXP_EXCEPTION_TYPE <> 'Non-Diagnostic' OR C.QXP_EXCEPTION_TYPE IS NULL)

GROUP BY E.PRODUCT_GROUP, A.QXP_REPORT_DATE, b.new_modes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值