3

我正在使用 C# .NET ODBC 连接从 iSeries (AS/400) 数据库中检索数据。如果在 iSeries 端没有正确提升文件和过程,则 ODBC 调用将导致级别检查错误。不幸的是,ODBC 驱动程序和 iSeries 之间的握手似乎有缺陷,并且 ODBC 调用只是挂起。

在 .NET 端更改连接和命令超时值不会影响调用,这似乎永远挂起。

有没有办法在这种情况下强制超时?

或者有没有办法强制终止 ODBC 调用(即,从另一个等待固定时间的线程)并抛出异常?

4

1 回答 1

1

我不确定您的问题是什么,听起来可能是 ODBC 驱动程序中的错误。但是,ODBC 确实通过语句属性 SQL_ATTR_ASYNC_ENABLE 定义了异步行为,并且有一个 API SQLCancel 可以取消操作。

于 2012-09-27T07:39:50.423 回答