首页 > 解决方案 > Delphi 10.3(32 位)社区版访问 PostgreSQL 11,使用 FireDac 驱动程序的 64 位版

问题描述

我在 Delphi 10.3(32 位)社区版中使用 FireDac 访问 PostgreSQL 11、64 位版本时遇到问题。我在包含可执行文件的文件夹中有 libpq.dll。

但是,我收到以下错误消息:

[FireDAC][物理]-314。无法加载供应商库 [libpg.dll]。找不到指定的模块 提示:检查它在 PATH 或应用程序 EXE 目录中,并且具有 x86 位。

我通过 Embarcardero 的笔记工作: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_PostgreSQL_(FireDAC) 甚至从 http://www.dlldownloader.com/libpq-下载了 libpq.dll 的 32 位版本dll/下载/dc193c20ee9b0ba03a6e5cb7d94eca6d/

我在 Delphi 10.3(32 位)社区版和 PostgreSQL(64 位)之间使用 Unidac 驱动程序没有问题,但我的意图是使用 TMS Remote DB 和 TMS XData,他们的示例使用 FireDac 到 Microsoft 数据库产品。

任何解决此 FireDac/Postgres 问题的帮助将不胜感激。

问候,

诺尔斯·斯密特

标签: delphi

解决方案


1) 从官方网站下载 x86-32 二进制文件作为 zip 存档:下载 PostgreSQL 二进制文件

2) 解压缩 zip 并将此文件复制pgsql/bin到您的应用程序目录:

libcrypto-1_1.dll
libiconv-2.dll
libintl-8.dll
libpq.dll
libssl-1_1.dll
psql.exe <-- this file is needed for the test only (see below)

3) 下载并安装适用于 x86 的 Visual Studio 2013 运行时包:Visual C++ Redistributable Packages for Visual Studio 2013

4) 打开 Windows 命令提示符,导航到复制库的文件夹并运行以下命令:psql --version. 如果它打印版本,那么一切正常,现在,您可以运行您的应用程序并连接到 PostgreSQL 数据库。


推荐阅读