Teradata Database 3130超出响应限制?

时间:2013-09-19 19:27:19

标签: teradata

[Teradata Database] [3130] Response limit exceeded

我不知道导致此随机错误消息的原因。它发生在我为数据库调用SELECT或执行存储过程时。我希望我有更多关于如何重现这一点的信息,但它似乎是断断续续的。

这个错误究竟意味着什么?什么类型的条件可能导致这种情况?

编辑:我发现在构建ASP.NET应用程序时(vs2012)问题就消失了。这就像在我的机器上的某个地方缓存了与连接相关的东西。在我通过重建回收应用程序池后,它会重置所有内容。下次发生这种情况时,我会尝试保存web.config文件,该文件会自动回收应用程序池而无需重建DLL。

2 个答案:

答案 0 :(得分:3)

这是来自消息手册的剪切和粘贴:

  

3130超出响应限制。

     

说明:对于a,有一个TDBMS限制为16个未完成的响应   单次会议。如果应用程序允许响应堆积,   将发生此错误。响应是SELECT的响应集   声明。 TDBMS保留响应,直到我们知道用户为止   用它完成它取消了。有两种情况:

     
      
  1. 如果KeepResp为OFF,则当所有行都返回到应用程序并且主机已被删除时,响应将自动取消   通知回复结束。

  2.   
  3. 如果KeepResp为ON,则响应将保持不变,直到用户明确取消。在每种情况下,响应都可以明确取消   应用程序。一旦不再需要它。

  4.         

    Generated By:Dispatcher。

         

    For Whom:最终用户。

         

    补救措施:回复是会话的属性,并且会   如果会话已注销,则会自动自动取消。   取消旧的回复并重新提交请求或交易。

正如您已经注意到,这通常是由行为不当的应用程序引起的,服务器端的开放结果集太多。客户有责任关闭它们: - )

答案 1 :(得分:0)

在我的情况下,当我尝试在同一个连接实例上创建超过15个语句/准备语句时出现错误。然后对它们执行了查询。

因此,您应检查是否在同一连接上创建了超过15个语句,或者在创建另一个语句之前必须关闭它们。

如果我们正在讨论313响应限制超出结果集,那么结果集通常是不合适的,因为如果它被重用,Statement会自动关闭现有结果集。