2

Windows 7 x64 および PostgreSQL 9.0 に pl/java をインストールするとエラーが発生します。

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 に存在することは確かです

4

2 に答える 2

9

Windows 7 64 ビットの PostgreSQL 9.0 64 ビットに PL/Java 手続き型言語をインストールできることがわかりました (あなたと同じエラー メッセージが表示されました)。64 ビット バージョンの PostgreSQL を使用していることがわかりました (パス)。したがって、 64 ビットC:/Program FilesJREが必要です(仮定):C:\Program Files\Java\jre6

  • pgFoundryから PL/Java 64 ビット バイナリ パッケージをダウンロードします (つまり、 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\サーバー

(必要に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)
于 2011-07-09T12:29:59.360 に答える
0

まったく同じエラーが発生し、T の指示に従いましたが、それでも同じ問題が発生しました。jreに含まれる引用符のPATHステートメントが判明しました-ディレクトリ名にスペースがあるため、それらが必要であると想定しました。jre パスの周囲から引用符を削除すると、ライトが点灯しました。

お役に立てれば!

于 2013-06-11T14:38:15.920 に答える