我遇到了paradox数据库的旧ODBC驱动程序(Intersolv ODBC悖论驱动程序)。在数据库的主要程序运行时,我有一个应用程序可以读取和写入数据到悖论数据库。我以前对MS Paradox驱动程序有问题。现在,使用此驱动程序,一切正常,我可以在数据库上同时工作。我的问题是,这仅与Windows 10一起使用。在尝试打开数据库时,我会遇到错误(sqlallochandle错误)。如果我关闭驱动程序的主要程序。我尝试使用Windows服务访问数据库,并且可以在Win7上使用,我可以在打开主程序时访问数据。
我尝试使用AdminRight打开该应用程序,并使用PSEXEC系统ACC启动。当主程序打开时始终存在相同的错误。有人知道Win7和Win10之间有什么区别?两位64位。
我在64位系统上遇到了完全相同的问题,试图打开悖论表以读取数据,而原始的Delphi应用程序也正在运行。使用Microsoft Paradox驱动程序,当我尝试执行ODBC DataReader时,我将获得"外部表不需要预期格式"错误,如果我使用Intersolv驱动程序,它将给出相同的sqlallochandle错误,当我尝试过时,打开连接。
我在此线程的评论中发现:
悖论表 - OLEDB例外:外部表不采用预期格式
在静态对象中具有连接有所不同。在我的应用程序中,我将数据库连接和查询代码移至静态类,然后开始工作。这可能就是为什么您提到的Windows服务能够读取数据的原因。
我不确定为什么win7和win10之间的区别为什么,但我怀疑这是试图打开pdoxusrs.lck文件时的线程许可问题。
希望这对您有帮助。