Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 你能追踪超时过期错误的来源吗?_C#_Asp.net_Sql Server_Stored Procedures - Fatal编程技术网

C# 你能追踪超时过期错误的来源吗?

C# 你能追踪超时过期错误的来源吗?,c#,asp.net,sql-server,stored-procedures,C#,Asp.net,Sql Server,Stored Procedures,我有两个相同的sql server数据库—暂存(版本10.0.4000.0)和测试(版本10.0.2531.0)。 我有一个Visual Studio 2008 ASP.Net C#项目,它调用这些数据库。该项目使用.xsd从存储过程返回数据 这个项目中有100多个存储过程,一切都很好。但是,我最近创建了一个存储过程,它给我带来了一些问题。存储过程在QA的两个数据库中运行。当我为xsd创建adpater表并将其连接到测试db时,它会按预期运行。当我更改与暂存数据库的连接时,出现以下错误: 超时已

我有两个相同的sql server数据库—暂存(版本10.0.4000.0)和测试(版本10.0.2531.0)。
我有一个Visual Studio 2008 ASP.Net C#项目,它调用这些数据库。该项目使用.xsd从存储过程返回数据

这个项目中有100多个存储过程,一切都很好。但是,我最近创建了一个存储过程,它给我带来了一些问题。存储过程在QA的两个数据库中运行。当我为xsd创建adpater表并将其连接到测试db时,它会按预期运行。当我更改与暂存数据库的连接时,出现以下错误:

超时已过期。完成之前的超时时间 操作或服务器没有响应

该过程需要两个日期参数。如果删除日期参数,错误就会消失,并得到预期的结果集。如果我输入一个伪造的字符串或整数参数,它也会运行。但是如果我需要日期,就会出现超时错误。请记住,存储过程在测试和暂存中是相同的,在QA中运行时都返回结果(3秒钟)。我只需单击tableadapter并选择preview data选项,这样我就知道这不会是演示代码中的错误

我不确定应该提供什么代码,或者什么可以帮助解决这个问题。请让我知道哪些细节可能有帮助,我可以提供

更新: 以下是Visual Studio返回的完整消息:

MWDeptTotalSpend.Fill,GetData(@StartPYMNT_DT,@EndPYMNT_DT)可以 不可预览

超时已过期。完成之前的超时时间 操作或服务器没有响应

更新2:

我在我的狂欢中做了一个小小的改变,这可能会给我一些启示

WHERE X.PYMNT_DT BETWEEN '1/1/2014' and '5/1/2014' --@StartPYMNT_DT AND @EndPYMNT_DT
注释参数定义为@StartPYMNT\u DT smalldatetime、@EndPYMNT\u DT smalldatetime

该过程现在返回数据,但显然我想传入日期参数。

我找到了一个“解决方案”。出于某种原因,我不得不在sql中将日期时间参数转换为日期时间:

X.PYMNT_DT BETWEEN CAST(@StartPYMNT_DT as smalldatetime) AND CAST(@EndPYMNT_DT  as smalldatetime)

我仍然想知道如何追踪这些错误的来源,很明显,这个解决方案是一个黑客。如果有人能提供一个更好的答案,我愿意接受。

您是否碰巧在暂存中有大量数据?听起来这个特定的查询需要很长时间。您能在Management Studio中使用相同的日期参数运行该过程并获得结果吗?在暂存中只返回239行数据。我可以在ManagementStudio中运行该过程,而不会出现任何问题。返回239条记录只需3秒钟。3秒钟对于239行来说是很长的时间。你们有什么索引?很好。此存储过程查询具有40k条记录的视图,然后对联合进行汇总。我在视图上没有任何索引,但底层表具有作为键的标识。