如何模拟ODBC超时错误?

时间:2010-09-23 15:54:59

标签: sql-server vba error-handling odbc access-vba

我正在测试Access-VBA控制进程的错误处理:

  1. Access'controller'DB中的脚本启动。
  2. 该脚本在第二个Access文件(“数据库”)中启动一个宏。
  3. 'database'文件中的宏运行了一堆可maketable查询。
  4. 这些查询来自链接到ODBC源的表(实际上是SQL-Server)。
  5. 当此过程在凌晨运行时,查询有时会超时。今天,我已经更新了控制器脚本中的错误处理,所以我想模拟一个超时错误。

    我查看了MS Access中的ODBC管理员和高级选项,但我找不到我需要的东西。想法?

4 个答案:

答案 0 :(得分:2)

在设计视图中打开宏。在“视图”菜单下,选择“属性”。 它应该是Timeout属性,将其设置为较短的值并进行测试。

答案 1 :(得分:1)

re:有时查询会超时。

确保ODBC超时的查询属性设置为零,这样它就不会生成错误但会继续运行。

答案 2 :(得分:0)

在SQL查询中添加以下语句 - 它应该导致超时。

--waits for 5 mins
    WaitFor Delay '00:05'

或者,如果您不想修改现有查询,则可以在宏查询的其中一个表上运行此查询。这将锁定表3分钟

begin transaction

Select *
From MyTable with (TABLOCKX)
--wait for 3 min
WaitFor Delay '00:03'

rollback transaction

答案 3 :(得分:0)

如果您的查询是修改,您可以添加一个调用WAITFOR的触发器。 Described here.