【问题标题】:Postgresql with Zeos: libpq is not found or not loadable on win 7 64带有 Zeos 的 Postgresql:在 win 7 64 上找不到或无法加载 libpq
【发布时间】:2013-06-06 18:19:56
【问题描述】:

我在 win 7 64 上安装了 PostgreSQL 9.2,并且可以使用 dbexpress 从我的 delphi IDE 通过 ODBC 连接到它,没有问题。当我尝试使用 Zeos 进行连接时,虽然我提供了 libpq.dll 的路径,但我仍然收到错误消息(找不到 libpq 或无法加载)。我尝试了通过谷歌搜索找到的所有解决方案,但到目前为止我还没有找到可行的解决方案。 我已经把 dll 和后来的所有 dll 都放到了 system32 中,看看这是否是它所需要的。

这是我的设置:

德尔福 XE3 宙斯 7 PostgreSQL 9.2 在 Windows 7 64 上

有没有人使用这个系统并且可以使用 zeos 连接到 postgresql 9.2?如果是这样,我错过了什么?

所以我的问题总结在一行是这样的:

在 win 7 64 上在 delphi 上连接 zeos 7 和 postgresql 的工作配置/步骤是什么?

非常感谢您的回答!

【问题讨论】:

    标签: delphi postgresql-9.2 zeos


    【解决方案1】:

    确保您有以下文件和 libpq.dll: libeay32.dll、libiconv.dll、ssleay32.dll、libintl.dll、libxml2.dll、 和 libxslt.dll。这些是 lipq.dll 所依赖的库文件。 Delphi IDE 是 32 位的,因此如果您想在设计时连接到 postgresql,则只能使用上述库的 32 位版本。如果您的项目是 64 位,您可以获得上述文件的 64 位版本并将其放在项目根目录下的单独文件夹中,然后在运行时更改 ZConnection 的 libpq.dll 路径以指向该文件夹。

    希望这会有所帮助。

    【讨论】:

    • 不,它不起作用。我清理了所有安装的 postgres 并重新做了一切。我应该在win 7 32机器上试试
    【解决方案2】:

    您确定您的 ZeosLib 是 x64 吗?构建组件时,请确保选择 64 位 Windows 作为目标平台。

    【讨论】:

      【解决方案3】:

      出现问题的计算机很可能缺少 Microsoft Visual C++ 2010 Redistributable x64。我建议你从微软download 它并安装它,然后运行另一个测试。

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题。为了解决这个问题,我不得不将 delphi 应用程序的工作目录更改为 libpq.dll 的路径,否则它将无法找到它需要的其他库。所以也许你想在打开与 postgresql 的第一个连接之前做类似的事情:

        OldPath := ExtractFilePath(Application.ExeName);
        ChDir('c:\path\to\libpq\dll\');
        ZConnection.Connect;
        ChDir(OldPath)
        

        【讨论】:

          猜你喜欢
          • 2012-03-28
          • 2018-09-21
          • 2011-12-14
          • 2013-10-29
          • 2012-05-04
          • 2013-06-22
          • 2013-01-23
          • 2015-01-30
          • 2020-07-13
          相关资源
          最近更新 更多