【发布时间】: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