我正在使用 C# .NET ODBC 连接从 iSeries (AS/400) 数据库检索数据。如果文件和过程在 iSeries 端没有正确提升,ODBC 调用将导致级别检查错误。不幸的是,ODBC 驱动程序和 iSeries 之间的握手似乎有缺陷,ODBC 调用只是挂起。
在 .NET 端更改连接和命令超时值不会影响调用,调用似乎永远挂起。
在这种情况下有没有办法强制超时?
或者有没有办法强制终止 ODBC 调用(即从另一个等待固定时间的线程)并抛出异常?
最佳答案
我不太确定你的问题是什么,听起来它可能是 ODBC 驱动程序中的错误。但是,ODBC 确实通过语句属性 SQL_ATTR_ASYNC_ENABLE 定义了异步行为,并且有一个 API SQLCancel 来取消操作。
关于c# - iSeries/AS400 级别检查错误挂起 ODBC 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610847/