- PR -

修正:JAVAからデータベースへのアクセス

投稿者投稿内容
ももんが
会議室デビュー日: 2005/02/02
投稿数: 4
投稿日時: 2005-09-15 11:12
はじめまして。

rootユーザ時に設定していたクラスパスなどの環境変数を
postgresユーザに対しても設定しましたか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-15 11:20
手元にあった PostgreSQL に接続するプログラムをみてみました。
Driver.connect() に渡すプロパティに設定している値は以下の通りでした。

JDBCDriver=org.postgresql.Driver
JDBCURL=jdbc:postgresql:データベース名
USER_NAME=postgres
PASSWORD=パスワード

connect メソッドに Properties を渡すと思いますが、適切にユーザ名、パスワードが設定されているか確認してみましょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2005-09-15 11:21 ]
tk919
会議室デビュー日: 2005/09/03
投稿数: 13
投稿日時: 2005-09-15 11:36
インギさん

ご返答ありがとうございます。

>実行するユーザではなく、接続時に渡すプロパティの問題ではないでしょうか。
>正しくパスワードを設定していますか?

特にパスワードは設定していません。
いつも「su postgres」のみでユーザを切替えておりますので
特に問題は無いと思っているのですが。。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-15 11:42
postgres ユーザで実行できないのはCLASSPATH環境変数が正しく設定されていないからです。

パスワードが適切に設定されていないのでは?というのは root で実行時のエラーに対応するものです。
>A connection error has occurred: FATAL: Password authentication
>failed for user "postgres"
tk919
会議室デビュー日: 2005/09/03
投稿数: 13
投稿日時: 2005-09-15 11:42
yoshiさん

ご返答ありがとうございます。

>rootユーザ時に設定していたクラスパスなどの環境変数を
>postgresユーザに対しても設定しましたか?

はい。こちらも追加して確認しております。↓

bash-2.05a$ echo $CLASSPATH
.:/usr/local/j2sdk1.4.2_09/lib/tools.jar:/usr/local/tomcat/common/lib/
servlet.jari:/usr/share/pgsql/pg73b1jdbc3.jar:/usr/share/pgsql/jdbc7.1-1.2.jar
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-15 11:47
postgresql ユーザに切り替えた後、HelloWorldJDBCPostgreSQL.class はカレントディレクトリに配置されていますか?
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2005-09-15 11:48
クラスパスの区切り文字が: (コロン)になってますけど、; (セミコロン)の間違いですよね?

[ メッセージ編集済み 編集者: 想馬 編集日時 2005-09-15 11:50 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-15 11:51
>クラスパスの区切り文字がコロン)になってますけど、;(セミコロン)の間違いですよね?
セミコロンで区切るのは Windows の場合ですね。他の大抵の OS ではコロンで区切ります。今回の場合はたぶん問題ないかと思います。n

スキルアップ/キャリアアップ(JOB@IT)