【问题标题】:C# ODBC Driver working fine on Win10 but not Win7C# ODBC 驱动程序在 Win10 上运行良好,但在 Win7 上运行良好
【发布时间】:2018-05-13 08:18:08
【问题描述】:

Paradox 数据库的旧 ODBC 驱动程序(Intersolv ODBC Paradox 驱动程序)出现问题。我有一个应用程序可以在数据库的主程序运行时读取数据并将数据写入 Paradox 数据库。我之前在使用 MS Paradox 驱动程序时遇到过问题。现在有了这个驱动程序一切正常,我可以同时在数据库上工作。我的问题是这仅适用于 Windows 10。使用 Win7 时,尝试打开数据库时出现错误(SQLAllocHandle 错误)。如果我关闭主程序驱动程序工作。我尝试使用 Windows 服务访问数据库,该服务可在 Win7 上运行,我可以在主程序打开时访问数据。

我尝试使用管理员权限打开应用程序并使用 Psexec System acc 启动它。打开主程序时总是出现同样的错误。有谁知道win7和win10有什么区别?都是 64 位。

【问题讨论】:

    标签: c# windows-7 odbc paradox


    【解决方案1】:

    我在 64 位系统上遇到了同样的问题,试图打开一个 Paradox 表来读取数据,同时原始的 Delphi 应用程序也在运行。使用 Microsoft Paradox 驱动程序时,我会在尝试执行 ODBC DataReader 时收到“外部表不是预期格式”错误,如果我使用 Intersolv 驱动程序,它会给出与我尝试时看到的相同的 SQLAllocHandle 错误打开连接。

    我在这个帖子的 cmets 中找到了:

    Paradox Table - Oledb Exception: External table is not in the expected format

    在静态对象中建立连接会有所不同。在我的应用程序中,我将数据库连接和查询代码移动到一个静态类,然后它开始工作。这可能就是您提到的 Windows 服务能够读取您的数据的原因。

    我不知道为什么Win7和Win10有区别,但我怀疑这是尝试打开PDOXUSRS.LCK文件时的线程权限问题。

    希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多