代码之家  ›  专栏  ›  技术社区  ›  sre

如何在数据库中导致超时异常?

  •  3
  • sre  · 技术社区  · 17 年前

    我需要测试一些ASP.NET代码,这些代码处理从对MS-SQL数据库的调用中出现的超时异常。

    我可以减少连接上的commandTimeout参数,但是这可能会在到达代码之前导致错误。

    有没有一种简单的方法可以使数据库“按提示”超时?

    8 回复  |  直到 12 年前
        1
  •  10
  •   Sam Saffron James Allen    17 年前

    先生,您要找的是 WAITFOR 命令,队列上的数据库超时,只要您愿意。

        2
  •  3
  •   russau    17 年前

    在Management Studio SQL窗口中开始事务,更新表,然后不提交:

    BEGIN TRAN
    UPDATE table SET ...
    

    这将锁定任何试图读取该表的网站。

        3
  •  1
  •   opello    17 年前

    你不能把你想要的异常放到你想要测试的任何一个试块中吗?

        4
  •  0
  •   Andrew Siemer    17 年前

    编写一个过程,在每次迭代中循环执行一些复杂的任务…如果这还不够,请通过递归调用存储过程来进一步扩展它!

        5
  •  0
  •   user110714    17 年前

    我拔掉以太网电缆的插头,以此来降低成本。

        6
  •  0
  •   Seth    17 年前

    开始测试,然后关闭数据库服务器(sc stop“mssql$sqlexpress”或其他)。

        7
  •  0
  •   sleske    17 年前

    您可以考虑用 mock ,这可以简化您的测试。

    在这种情况下,模拟总是简单地发出超时信号。

        8
  •  -1
  •   KuldipMCA    17 年前

    写下执行超过30秒的过程或查询,以及 从ASP.NET代码调用此函数。