【问题标题】:Problem in installing pljava on windows在windows上安装pljava的问题
【发布时间】:2011-10-01 19:03:34
【问题描述】:

在 Windows 7 x64 和 PostgreSQL 9.0 上安装 pl/java 时出错。

CREATE FUNCTION sqlj.java_call_handler()
  RETURNS language_handler AS 'pljava'
  LANGUAGE C;

错误:

错误:无法加载库 "C:/程序 文件/PostgreSQL/9.0/lib/pljava.dll”: 指定的模块不能是 找到了。

***错误***

错误:无法加载库 "C:/程序 文件/PostgreSQL/9.0/lib/pljava.dll”: 指定的模块不能是 成立。 SQL 状态:58P01

但我确定 pljava.dll 存在于 C:/Program Files/PostgreSQL/9.0/lib 中

【问题讨论】:

标签: postgresql pljava


【解决方案1】:

我发现可以在 Windows 7 64 位的 PostgreSQL 9.0 64 位上安装 PL/Java 过程语言(我的错误消息与您的相同)。我看到(C:/Program Files 路径)你有 64 位版本的 PostgreSQL,所以你需要 64 位 JRE(假设 C:\Program Files\Java\jre6):

  • 下载 PL/Java 64 位二进制文​​件 来自pgFoundry的包 (那是, pljava-x86_64-w64-mingw32-pg9.0-1.4.2.tar.gz)
  • 解压存档到C:\Program Files\PostgreSQL\9.0\share\pljava目录
  • 将pljava.dll放入C:\Program Files\PostgreSQL\9.0\lib目录
  • 添加到postgresql.conf(数据):
custom_variable_classes = 'pljava'
pljava.classpath='C:\\Program Files\\PostgreSQL\\9.0\\share\\pljava\\pljava.jar'
  • 添加到PATH(我的电脑→属性→高级→环境变量):
;C:\Program Files\Java\jre6\bin;C:\Program Files\Java\jre6\bin\server

(您可以根据需要创建另一个JRE_HOME 变量,然后编写;%JRE_HOME%\bin;%JRE_HOME%\bin\server)

之后重新启动 PostgreSQL 服务 (postgresql-x64-9.0) 并再次加载 C:\Program Files\PostgreSQL\9.0\share\pljava\install.sql。检查:

postgres=# SELECT lanname FROM pg_language;
 lanname
----------
 internal
 c
 sql
 plpgsql
 java
 javau
(6 rows)

【讨论】:

    【解决方案2】:

    我遇到了完全相同的错误并按照 T 的说明进行操作,但仍然是同样的问题。结果是我的 jre 包含引号的 PATH 语句 - 假设我需要它们,因为目录名称中有空格。删除了 jre 路径周围的引号,灯亮了。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 2012-02-23
      • 2015-12-08
      • 2015-07-18
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多