我对ODBC驱动程序和底层COBOL数据库有一种奇怪的行为。数据库驱动程序是AcuCorp(现为Microfocus)的acuODBC,数据库本身是COBOL数据库。
DSN是一个系统DSN,工作得很好。通过Access / Excel,您可以成功地使用DSN读/写数据。
在C#中,ODBCConnection.ConnectionState
已打开。恢复表头工作正常。但是在读取数据时会发生奇怪的错误。以下是跟踪日志的总结:
当我向WHERE
语句添加SELECT
clausel时会发生这种情况。当我没有添加WHERE
clausel而只是整个表格时,它需要很长的时间(40000条记录大约需要12分钟),但至少我会检索数据。
所以现在我的问题是,有没有其他人用ODBC驱动程序发生这种奇怪的行为?文件结尾应该是数据吗?
正如旁注,我也联系了Microfocus,如果他们有解决方案,我会在这里发布。
答案 0 :(得分:1)
似乎是Windows UAC依赖。由于我们的应用程序在兼容模式下运行,因此UAC可视化处于活动状原因是,COBOL数据库是基于文件的数据库,编码的客户端直接在ODBC DSN配置中使用这些文件,而不是运行ODBC服务器来处理请求。
因此,UAC会导致一些奇怪的行为。