【问题标题】:ERROR: could not load library "oracle_fdw.dll": %1 is not a valid Win32 application错误:无法加载库“oracle_fdw.dll”:%1 不是有效的 Win32 应用程序
【发布时间】:2017-07-03 14:55:38
【问题描述】:

按顺序完成的事情:

  1. 从 entreprisedb.com 下载并安装 PostgreSQL server 9.5.7 64bit,oracle_fdw 可用的最新版本

  2. 在安装的第二部分以 64 位变体安装其他东西(postGIS、Npgsql、pgAgent 等),让我可以选择

  3. https://github.com/laurenz/oracle_fdw/releases/ 下载 oracle_fdw-1.3.0-pg95-win64.zip 并将所有文件解压缩到它们应该在的位置,C:/Program Files/PostgreSQL/9.5/....

  4. 在 pgAdmin 中运行以下命令:

    创建扩展 oracle_fdw;

我收到以下错误:

ERROR:  could not load library "C:/Program Files/PostgreSQL/9.5/lib/oracle_fdw.dll": %1 is not a valid Win32 application.

【问题讨论】:

  • 你检查过this article吗?
  • 是的,但他有不同的问题。我也尝试了 32 位和 64 位变体。我已将它们放在正确的位置。

标签: database postgresql relational-database foreign-data-wrapper oracle-fdw


【解决方案1】:

oracle_fdw.dll 已损坏,或者不是您的所有软件(Oracle 客户端?)都是 64 位的。

您需要安装 64 位 Oracle 客户端。见README

需要 Oracle 客户端 10.1 或更高版本。
oracle_fdw 可以与 Oracle Instant Client 以及与 使用 Universal Installer 安装 Oracle 客户端和服务器。
使用 Oracle Client 10 编译的二进制文件可用于更高版本的客户端 无需重新编译或重新链接。

(PostgreSQL 9.6 也有 oracle_fdw 二进制文件。)

【讨论】:

  • 我需要一个 oracle 客户端才能让它工作吗?我不知道。我有 Oracle SQL Developer,但我不认为它被声明为系统变量。是否有任何关于如何在 Windows 上设置 Oracle 客户端以使 oracle_fdw 工作的教程/文档?
  • 没有 Oracle 客户端就无法连接到 Oracle,所以是的,您需要按照 oracle_fdw 文档中的说明进行连接。我推荐 Oracle Instant Client,并且必须参考 Oracle 文档。如果您在使其正常工作时遇到特定问题,请打开 Github 问题。通常,如果 PostgreSQL 操作系统用户可以使用 sqlplus 连接到 Oracle 数据库,那么您的设置就可以了。 Oracle 客户端库必须在 PostgreSQL 服务的PATH 上。
  • 非常感谢您的澄清。我想我错过了文档的第 5 点。会研究它并尝试让它发挥作用。
猜你喜欢
  • 2015-10-21
  • 2014-08-28
  • 2016-01-13
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 2017-01-07
相关资源
最近更新 更多