对于ODBC驱动程序和底层COBOL数据库,我有一种奇怪的行为。数据库驱动程序是acuODBC of AcuCorp(现在的微焦点),数据库本身是一个COBOL数据库。
DSN是一个系统DSN,工作正常。通过Access/Excel可以成功地用DSN读写数据。
在C#中,ODBCConnection.ConnectionState是开放的。倒转表标题的效果很好。但是当读取数据时,会出现一个奇怪的错误。下面是跟踪日志的总结:
当我将WHERE clausel添加到SELECT语句时,就会发生这种情况。当我不添加一个WHERE clausel而只是撤回整个表时,它会花费令人难以置信的时间( 40000条记录大约12分钟),但至少我收回了数据。
因此,我现在的问题是,是否还有其他人在ODBC驱动程序中发生了如此奇怪的行为?文件的结尾数据应该在哪里?
作为一个附带说明,我已经联系了微焦点,如果他们有一个解决方案,我会张贴在这里。
发布于 2015-06-15 14:15:15
它似乎依赖于Windows。由于我们的应用程序在兼容性模式下运行,UAC可视化是活跃的,可能会导致一些问题。原因是COBOL数据库是一个基于文件的数据库,而编码的客户端直接在ODBC DSN配置中使用这些文件,而不是运行ODBC服务器来处理请求。
所以UAC导致了一些奇怪的行为。
https://stackoverflow.com/questions/30838931
复制相似问题