Проблема в установке плява на windows

Ошибка при установке pl/java на windows 7 x64 и PostgreSQL 9.0.

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

Ошибка:

ОШИБКА: не удалось загрузить библиотеку "C:/Program Files/PostgreSQL/9.0/lib/pljava.dll": указанный модуль не найден.

*** Ошибка ** *

ОШИБКА: не удалось загрузить библиотеку "C:/Program Files/PostgreSQL/9.0/lib/pljava.dll": указанный модуль не найден. Состояние SQL: 58P01

Но я уверен, что pljava.dll существует в C: / Program Files / PostgreSQL / 9.0 / lib

2 ответа

Решение

Я обнаружил, что можно установить процедурный язык PL/Java на PostgreSQL 9.0 64 бит на Windows 7 64 бит (у меня было то же сообщение об ошибке, что и у вас). Я вижу (C:/Program Files путь), что у вас есть 64-битная версия PostgreSQL, поэтому вам нужно 64-битную JRE (при условии C:\Program Files\Java\jre6):

  • Загрузите 64-битный двоичный пакет PL/Java из 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)

У меня была та же самая ошибка и следовал инструкциям к T, но все та же проблема. Оказывается, мой оператор PATH для включенных в jre кавычек - предполагается, что они мне нужны из-за пробелов в именах каталогов. Убрал цитаты со всех путей и зажегся свет.

Надеюсь это поможет!

Другие вопросы по тегам