加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – 超时已过期.操作完成之前经过的超时时间或服务器没有

发布时间:2020-12-17 07:27:54 所属栏目:百科 来源:网络整理
导读:我不确定这是VB.NET错误还是SQL Server.但我得到以下错误与以下堆栈跟踪: [SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.] System.Data.SqlClient.SqlC
我不确定这是VB.NET错误还是SQL Server.但我得到以下错误与以下堆栈跟踪:

[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,
Boolean returnStream,Boolean async)
+954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior,String method,
DbAsyncResult result) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior
cmdBehavior,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
GlobalFunctions.GlobalF.GetComplaintTrendingList6(DateTime
FirstMonth,DateTime LastMonth,Int32
rowLevel) +489
ASP.website_complaints_complainttrendinglist6_aspx.Main()
in
e:inetpubamdmetrics-d.web.abbott.comwwwrootWebsiteComplaintsComplaintTrendingList6.aspx:94
ASP.website_complaints_complainttrendinglist6_aspx.Page_Load(Object
Sender,EventArgs E) in
e:inetpubamdmetrics-d.web.abbott.comwwwrootWebsiteComplaintsComplaintTrendingList6.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,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_SHORT_DESC

导致错误的存储过程:

INSERT #PVAL_NUM
SELECT E.PRODUCT_GROUP,b.new_modes 'QXP_SHORT_DESC',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,b.new_modes

解决方法

您使用查询分析器(或SSMS,现在)以及您的应用程序获得的内容可能是非常不同的,主要是由于参数嗅探.

我建议阅读Erland Sommarskog的this article了解详情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读