【问题标题】:Could not open Paradox.net无法打开 Paradox.net
【发布时间】:2017-12-14 19:43:26
【问题描述】:

在 Windows 10 上尝试使用 Paradox FireDAC ODBC 的 Delphi 10.2 Tokyo 会引发错误无法打开 Paradox.net。此链接描述了该问题: https://msdn.microsoft.com/en-us/library/bb221383(v=office.12).aspx

Embarcadero FireDAC ODBC 连接到 Paradox 表,默认情况下会将 ParadoxNetPath 设置为 System32 文件夹:

ODBCAdvanced=ColatingSequence=ASCII;DefaultDir=C:\DEV\TPDEMOS\DATA;DriverId=538;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;ParadoxNetPath=C:\Windows\system32;ParadoxNetStyle=4.x ;ParadoxUserName=admin;SafeTransactions=0;Threads=3;UserCommitSync=Yes

可能没有对该文件夹的写入权限。一个简单的解决方案是尝试将其设置为用户具有读/写权限的某个位置。例如。临时文件夹。

【问题讨论】:

  • 问一个问题并回答你自己的问题完全没问题,但我不明白你为什么将相同的文本复制/粘贴到两者中。此外,您永远不应该依赖外部链接 - 您可以包含它们以支持内容,但问题和答案应该在 SO 上自包含,而不需要用户单击其他地方(从现在起一年后可能不存在)。
  • 好吧,ODBCAdvanced 参数是特定于 ODBC 驱动程序的。它们中的任何一个都可能导致你不喜欢的东西。并根据所选的ODBCDriver 从注册表中读取它们。因此,我认为不是 FireDAC 设置了该路径,而不是驱动程序安装程序。此外,如果您是 EMBT 的主要软件顾问,请尝试先咨询 Dmitry。谢谢! ;)
  • 我必须同意@JerryDodge,回答你自己的问题很好(也是很好的做法),但你实际上应该分别制定问题和答案。 Paradox 是一项早已死去的技术,由于线程、多核、内存和权限问题,应谨慎使用。
  • @Reallyethical,是的,但在这种情况下,我会说 FireDAC 一直在努力通过读取 ODBC 驱动程序安装程序写入注册表的驱动程序特定信息来尽力而为。我的意思是,任何 DBMS 驱动程序都可能会遇到你不喜欢设置的东西。
  • @Victoria 你当然是对的,但这项技术被贬低的时间比我的大多数员工成年的时间都要长。因此,我会觉得在使用它时避免发出警告不仅仅是疏忽大意。当然,这可以是继承的或第三方数据库,但我认为应该谨慎考虑和使用它。

标签: delphi odbc firedac paradox


【解决方案1】:

我遇到了同样的问题。我在 ODBC 设置中定义了:ParadoxNetPath = 'PDOXUSRS.NET file path'。

此文件必须位于当前用户具有读写权限的文件夹中,因此您不必运行“以管理员身份”程序。

如果使用 BDE Administrator,可以更改 PDOXUSRS.NET 文件的路径,该路径通常位于 C:\ 目录的根目录下。

另一种选择是只以管理员身份运行程序,因为这是系统的主人,问题是根据应用程序的执行位置,客户端将不被允许执行此操作。

【讨论】:

    【解决方案2】:

    此链接描述了问题:https://msdn.microsoft.com/en-us/library/bb221383(v=office.12).aspx

    Embarcadero FireDAC ODBC 连接到 Paradox 表,默认情况下会将 ParadoxNetPath 设置为 System32 文件夹:

    ODBCAdvanced=ColatingSequence=ASCII;DefaultDir=C:\DEV\TPDEMOS\DATA;DriverId=538;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;ParadoxNetPath=C:\Windows\system32;ParadoxNetStyle=4.x ;ParadoxUserName=admin;SafeTransactions=0;Threads=3;UserCommitSync=Yes

    可能没有对该文件夹的写入权限。一个简单的解决方案是尝试将其设置为用户具有读/写权限的某个位置。例如。临时文件夹。

    【讨论】:

      猜你喜欢
      • 2014-07-26
      • 2019-01-06
      • 2021-12-01
      • 2020-08-29
      • 2020-04-22
      • 2011-05-07
      • 2013-07-20
      • 2018-11-05
      • 2017-03-01
      相关资源
      最近更新 更多