SQL_ATTR_QUERY_TIMEOUT Not Timing Out



设置

使用SQL Server 2008 R2。

我有一个对存储过程的ODBC调用,通过使用带有SQL_ATTR_QUERY_TIMEOUT参数的SQLSetStmtAttr函数,该调用应该在3秒钟后超时。

SQLSetStmtAttr( command, SQL_ATTR_QUERY_TIMEOUT, (SQLPOINTER)&timeOut, NULL );

测试

我在存储过程中设置了15秒的延迟。存储的proc确实只需要超过15秒就可以返回。

WAITFOR DELAY '00:00:15'

问题

问题是存储过程返回正确,而我预计会出现错误。

有什么想法吗?

发现问题。

timeOut变量(int(作为引用被传递到SQLSetStmtAttr中,并且引用位置的值远大于3。

正确的实现是:

SQLSetStmtAttr( command, SQL_ATTR_QUERY_TIMEOUT, (SQLPOINTER)timeOut, NULL );

相关内容

  • 没有找到相关文章

最新更新