- ベストアンサー
pgsqlのjdbcドライバー設定に関するエラーと解決方法
- redhat7.1にpostgresql7.1.1をインストールし、jdbc環境を構築中
- ImageViewerが走らず、xlibエラーが発生
- サーバから拒絶されている可能性あり、pg_hba.confやbashrcを確認しても変化無し
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
無理はいけません。文面を拝見すると大変謙虚な方のようです。努力も無く、謙虚な方以外には、ojinも努力はいたしません。 さて、本題です。2000文字で収まるか分かりませんが、次の手順を間違えないように従ってください。#は、rootユーザ、$は、postgresユーザと思ってください。 1.ダウンロード postgresql-7.1.1.tar.gz(バイナリファイルで行きましょう) jakarta-ant-3.1.tar.gz(これもバイナリーファイルで行きましょう) j2sdk-1_3_1-linux-i386.bin をダウンロードしてください。 2.# /usr/local/srcに2のファイルをコピーします。 j2sdk-1_3_1-linux-i386.binは、 # /usr/localにコピーします。 3.postgresユーザを作成 # useradd postgres 4.ディレクトリの作成 # mkdir /usr/local/pgsql # chown postgres:postgres /usr/local/pgsql # chown postgres:postgres /usr/local/src(元は、root:rooですが、必ずpostgres:postgresにします。これを、怠ると、正しく導入できません。 5.Javaの導入 # cd /usr/local # sh j2sdk-1_3_1-linux-i386.bin 6.postgresuユーザにスイッチしてください。 # su - postgres そして、ファイルを展開します。 $ cd /usr/local/src $ tar xvfz postgresql-7.1.1.tar.gz $ tar xvfz jakarta-ant-1.3.tar.gz $ /usr/local/src/postgresql-7.1.1 $ /usr/local/src/jakarta-ant-1.3 の二つのディレクトリが出来ています。 7.事前に環境変数を設定(順番は少し先なのですが、特に問題は、ありません) $ /home/postgres(su - postgresで、自動的にpostgresユーザのホーム) .bssh_profileに以下を記述してください。 unset USERNAMEの下に export JAVA_HOME=/usr/local/jdk1.3.1 export PATH=$PATH:$JAVA_HOME/bin export ANT_HOME=/usr/local/src/jakarta-ant-1.3 export PATH=$PATH:$ANT_HOME/bin PATH="$PATH":/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data export MANPATH="$MANPATH":POSTGRES_HOME/man (今回はマニュアルは導入していなしので意味はないのですが、後に導入したときのためです。) export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB" CLASSPATH=./usr/local/pgsql/share/java/postgresql.jar ファイルをセーブしたら、$ source ~/.bash_profileで環境をシステムに反映します。 8.configure $ cd /usr/local/src/postgresql-7.1.1/src $ ./configure --with-java --enable-multibyte=EUC_JP 9./usr/local/src/postgresql-7.1.1/srcで $ gmake all CPUにもよりますが、10から15分程度必要です。 10./usr/local/src/postgresql-7.1.1/srcで $ gmake install 11.regressテスト $ cd /usr/local/src/postgressql-7.1.1/test/regress $ make all runtest 種種のテストを実行します。各テストに"ok"がついていることを確認してください、といっても、流れてしまうので、確認は出来ないかも知れませんが! 以上でサンプルプログラムのコンパイルも全て終わっています。サンプルプログラムは、 $ /usr/local/src/postgresql-7.1.1/src/interfaces/jdbc/build/example に、クラスファイルが出来ています。 さて、ここで、コーヒーでも一杯、心を落ち着けてください。 とりあえず、データベースとユーザを作成しましょう $ createdb hogehoge(自分の好きな名前でどうぞ) $ createuser hoge 次に、データベースのサーバを起動します。 $ postmaster -S -i -i(jdbcを使用するため) $ psql hogehoge これで、データベースのユーザプロンプトになりますが、ここでは、jdbcのてすとですので、バックスラッシュqで、抜けてください。 $ export DISPLAY=:0.0(もし、エラーが出たら) 一応先に実行しておきます。 $ cd /usr/local/src/postgresql-7.1.1/src/interfaces/jdbc/build $ java example.ImageViewer jdbc:postgresql:hogehoge hoge "" フォント関連のエラーが出るかも知れませんがとりあえず無視、初期化画面が表示されると思います。事前にGIFの画像ファイルをexampleディレクトリィにコピーしておきましょう。 以上です。 PostgresSQLが、7.0から、7.1に変わった時から、postgressql.jarの作成方法がANTを必要とすることを始めて知りました。そこで時間をとられました。 本業ですか?驚かれるかも知れませんが、リタイアした、自由人です。また、お役に立てればと思います。 では、では ojin
その他の回答 (7)
- ojin
- ベストアンサー率43% (280/638)
目がさめたら、Apache+ANT+Tomcat+PostgreSQL+jdbc環境に一抹の不安があります。 システム構築で、もし問題が発生したら、このスレッド(すこし大きくなりすぎましたが、あらたに"Apache+Tomcat+PostgreSQL+jdbc"のようなタイトルでも結構)でも、遠慮なく、アップしてください。可能なかぎりお手伝いしましょう。 かなり複雑なアプリケーションの連係をとっています。RedHatの導入から、PostgreSQLまで、一連のサイクルは、慣れると約4時間程度でできます。導入手順をメモしておきましょう。 HDDを何台も用意して、引出し式に交換式して、柔軟に対応しています。 苦労は無駄にはなりませんが、繰り返しますが、無理は禁物です。 コンピュータ症候群の"ojin"より。 PS:こんなことアップするとまずいのかな?
- ojin
- ベストアンサー率43% (280/638)
修正です。 CKASSPATH=.:/usr/local/pgsql/share/java/postgresql.jar で、コロンが抜けていたかもしれません。 では、では ojin
- ojin
- ベストアンサー率43% (280/638)
なぜここまで固執するかといえば、最初に、このアプローチにたいして、「無謀ではありませんと」といった手前、その責任からです。 結論から言えば、PostgreSQLを除いて、最後のサンプルを動作することを確認しました。 http://itnavi.com/apaTomcat3.htm 導入手順は、正確でした。 ただし、 8. build.shの設定パスがおかしいとおもわれるところもあったのですが、今回は修正していません。 12. libexec/mod_jserve.soは、mod_jk.soではいかとおもいますが、修正はしませんでした。 13. httpd.confの最下行n以下の記述を追加する。 mod_jk.conf-autoは、mod_jk.confで追加しました。 ではないかと思います。 4. Java Secure Socket Extensionは、 http://webferret.search.com/click?wf,jsse-1_0_2-gl.zip,,box.balpol.tudelft.nl%2Fpub%2Fjava%2Fsun%2F,,altavista からダウンロードしました。 http://www.zdnet.co.jp/download/pc/ を開いて、US Dowload Top 300!!のアイコンをクリックして、5番目の、WebFerret v3.02(Windows版)これをインストールして、"jsse-1_0_2-gl.zip"で検索してください。強烈なサーチ・ツールです。 Index of /pub/java/sunが見つかります。もともと、このソフトは、Sunが提供するのですが、J2SDKの一部とありますが、全てが入っているわけではありません。また、このモジュールが絶対に必要かどうかも分かりませんが、手順どおりにするとして、導入しました。 http://box.balpol.tudelft.nl/pub/java/sun/ Index of /pub/java/sun Index of /pub/java/sun. Name Last modified Size. Parent Directory 27-Sep-2000 18:47 - jsse-1_0_2-gl.zip 20-Sep-2000 02:21 611k 前提条件と注意事項 1.RedHat 7.1Jをサーバ構成にしました。 telnet、ftp、wwwサーバ、X、GNOME、DNSなどを、カスタムでほとんど全てを 導入しました。特に意味は無いのですが。したがって、Apacheなども同時に導 入されるのですが、バージョンがなんだか分からないので、別途導入しまし た。 # /usr/local/apache/bin/apachectl start または、 # /etc/rc.d/init.d/httpd start のいずれかで、Apacheはスタートします。 wwwサーバをはじめから組み込んだために、httpdは、既に作成されています。 良くある質問ですが、telnet、wu-ftpは、/etc/xinetd.d/にある、 wu-ftpd、telneファイルの"disable=yes" -> disable=no"にしないと動作 しません。 2.Netscapeが、不安定に、時々プロセスを残したまま、画面から消えてしまう ので"Mozilla"のブラウザを、ランチャーに登録して、使い分けています。 TurboLinuxでは、このMozillaが標準のブラウザです。 3.http://itnavi.com/apaTomcat3.htmのフレームの印刷は、注意しないと、 画面の一部が印刷されず、あやまた、CLASSPATHの設定の可能性があります。 画面を参照しながらでは、問題ありませんが? 4.httpdや、tomcatのスクリプトは、http://itnavi.com/apaTomcat3.htm から、直接、コピー&ペーストで、時間の節約をしました。 いちばん、時間のかかるのは、OSの導入で、3ないし4時間で完了します。 3回行いました。 気の付いた点を思いつくまま列挙いたしました。postgresql.jarを意地でも、Antを前提にしたもので、作成して、次回(最後?)にアップします。 これが、実現できた場合には、かなりの先進的なユーザですね!、ぜひ、がんばってください。 ojin
補足
ojinさん連絡が遅くなって申し訳ございません。 風邪をこじらせダウンしていました。 処で、あれから私もシロウトなりにイロイロ試し、一度はpgsql_dataからjdbcで表示に成功したのですが、サーバが何故かクラッシュしてしまい、再度同じように試したのですが復旧しませんでした。トホホ・・・。 設定(PATH)などをコピーしてWinの方へバックアップしておけばよかったのですが、後の祭りです。 思い出しながら、現在奮闘中です。 ojinさんも本業があると思いますので、余り無理を為さらないで下さい。(申し訳無くて・・・。) とは云っても、頼りにしております。(笑) また、ご連絡致します。 ありがとうございました。
- ojin
- ベストアンサー率43% (280/638)
最近は、日本の曲は感性にあわないので、アメリカの主として、ネットからのMusicMatch Jukeboxで、Soft POPSを好んで聞いています。 さて、本題ですが、成功したわけではありません。 まるきり無からではなく、勿論、いろいろなサイトの成功例などを参考と、過去の経験を元にアドバイスしています。無責任にならないよう、できる限り、実機での確認もしております。 一部、APIのファイルが入手できないためだろうと思いますが、TOMCATが終わりの方でコンパイル・エラーのメッセージを出しています。既に、参照はしていると思いますが、 http://itnavi.com/apaTomcat3.htm をベースに、導入を行いました。8月1日の更新ですが、既に、製品のバージョンが変わっているために、そのままでは、アクセスできないものがありました。 JSSE(Java Secure Socket Extension)ですが、Java2の1.2と1.3のオプショナルパッケージなのですが、最近は、SDKにバンドルされているとのことですが見つかりません。また、PostgresSQLのJDBC環境もPostgreSQLの7.0.3時代から、7.1.3では、postgresql.jarの生成方法も違うことを知りました。 時間の関係で、途中をアップします。 環境: redHat 7.1J Workstation構成 Apache 1.3.19 Java2 Standard Edition v1.3.1 Ant 1.3 Tomcat 3.2.3 PostgreSQL 7.1.3 導入手順: ファイルは、全て、/usr/local/srcにおいて展開し、rootユーザで行いました。 ただし、JDKだけは、ほかとの関連性を保つために、/usr/localにおいて展開しました。したがって、JDKは、/usr/local/jdk1.3.1です。ただし、PostgresSQLは、postgresユーザを作成しました。導入も、postgresユーザです。 Apache 1.3.19 Java2 もうよくご存知と思います。 jakarta-ant-1.3-src.tar/gz jakarta-tomcat-3.2.3-src.tar.gz jakarta-servletapi-3.3.2-src.tar.gz 展開後、導入先がディレクトリの深いところにあるので、シンボリック・リンクを張ります。 JAXP(Java Technology & XML) Java API for XML Parsingを http://java.sun.com/xml/よりダウンロードし、導入 JSSE 1.0.2が入手できず。最近のリリースでは、Java2から、はじめから組み込まれているとのこと。TOMCATのコンパイルのエラーメッセージは、このSecure Socketに関連しているようです。 Antの導入 servletapiの導入 build.shの cp ../jakarta-ant/build/lib/ant.jar <- /buildが抜けている。 TOMCATの導入 APIに関する、エラーメッセージを吐き出しています。原因調査中 mod_jk.so-eapiの入手 http://jakarta.apache.org/builds/tomcat/release/v3.2.3/bin/linux/i386 v3.2.2は、既に無く、v.3.2.3 PostgreSQL 7.1.3の導入 PostgreSQLのJDBCの構成。Antが関係してきます。/usr/local/postgresql-7.1.3で、./configure --with-javaそして、makeこれで、postgresql.jarが出来るはずですが、まだ、そこまでに至っていません。 TOMCATのコンパイル・エラーと、jdbcドライバーのpostgresql.jarが正しく出来ているかも確認してください。各モジュール間での相互関係がありますので、ご注意ください。 もう少し、時間が必要とおもいますが、頑張ってください。 ojin
- ojin
- ベストアンサー率43% (280/638)
確かに、どれも導入に関して、微妙に異なります。私が、最初にPostgreSQLを導入したときには、Display環境変数についてはどこにも説明がなく、方々を探し回ったものです。 ほとんど、完成の域だとおもいます。もう少し頑張ってください。 明日一杯は、スレッドを閉じないでください。 RedtHat 7.1J Apache 1.3.20(既に、マイナーバージョンがあがっています。) Java2 Standard Edition v1.3.1 Tomcat 3.2.3 Ant 1.3 PostgreSQL 7.1.2 Ojinは、自由人です。There You wiil be by Faith Hill(Parl Horbor)を聞きながらリラックスしながら、導入すると、なにか新しいことが見つかるかもしれません。 お約束は出来ませんが、redHat 7.1(ただし、雑誌の付録のベータ版です)が、一通り流してみましょう。redHatの再導入から始めます。本日のアップは無理としても、うまく行けば、明日には、結果をアップしましょう。明日、何もアップがなければ、ojinも失敗したと思ってください。 それでは、ご健闘を祈ります。 ojin
補足
申し訳ございません。お手数をお掛け致します。 今日一杯このままでもう少し頑張ってみます。 私も、解らなくなって来るとどうしてもイライラしてしまうので、ICEやSWING OUT SISTERSを聞いています。曲が悪いのでしょうか・・・?(笑) 宜しくお願い申し上げます。
- ojin
- ベストアンサー率43% (280/638)
追加です。 DISPLAY環境変数は、いろいろの設定方法がありますが、 export DISPLAY=:0.0 でも可能です。 設定後、再度 #echo $DISPLAY 戻り値が、:0.0 になっていることを確認します。rootホームに、.bash_profileがあれば、 export DISPLAY=:0.0 を定義しておけばよいのでは、ただし、rootで、ログインして、su - postgres で、postgresユーザにスイッチしなければなりません。 .bash_profileがなければ、.bashrcです。 Xの環境では、既に記述した方法で xhost (+)自ホスト名 '+'は、必要であるか、どうか忘れましたが、'+'無しでも よかったと思います。 では、頑張りましょう。 ojin
補足
ojinさんご無沙汰しています。何時も有り難うございます。 やっと?此処まで来ましたが、矢張り奥が深すぎます・・・。出来るだけNet上や書籍を頼りに自分で調べているのですが、手法がイロイロありそれぞれ微妙に違うので、どれを採用したら良いのか?この時点で迷ってしまいます。 さて、ご指導頂いた部分を試してみましたが、今ひとつ上手く動作しませんでした。と云う事は、各種ツールのインストールの問題かも知れません。 もう一度fmtして、最初から順にやってみるつもりです。 そこで、お伺いしたいのですがANTの扱い方なのですが・・・。現在JDK1.3.1/TOMCAT3.2.3/APACHE1.3.19/pgsql7.1.2でJSP環境を構築しているのですが、コレに合うANTのVerが今ひとつ解らない事と、ANTインストールの順番です。ANTはmakeツールとの事で、TOMCAT/pgsqlの前に入れ込んで置くと思いますが、現在試みているANT1.3では、どうも上手くmakeされていない様子なのです・・・。(successfulは出るのですが、微妙にファイルなどが無い(buildされていない?)場合があります。) 以前ご指導頂いたように、PATHの通し方には気を使って?間違い無いと思うのですが…。 取り敢えず、上記の組み合わせでもう少しトライしてみます。
- ojin
- ベストアンサー率43% (280/638)
環境変数で定義しています。 # echo $DISPLAY としたとき、 戻り値は、 :0 または、# set | moreで見たときに、DISPLAY=:0 があるはずです。 Xの環境で使用する場合、 # xhost <Host名、または、ホストIP> < >は必要ないです。直接ホスト名か、IP アドレスを入力してください。アプリケーションによっては、"0.0"にしないとXホストに接続できないものがあるようです。 または、 PostgreSQLで、JDBCを使用したとき、このようにしたと思います。 この、コマンドは、rootユーザで行ってから、postgresユーザにスイッチします。 過去の事なので、資料が出て来ないので、記憶に頼っています、間違っていたらごめんなさい。 ojin
お礼
ojinさん本当に有難うございます。 昨日アップ戴いたレポートを元に、本日から再度設定しなおします。 良く読んでみますと、導入手順は間違っていなかった様なのですが、PATHの通し方が若干違っている部分がございました。(PATHの通し方は難しいですね。) それで、上手くmakeされていない部分があったのかもしれません。 また、先日”一度立ち上がった”と申しましたが、その後システム(起動)が不安定になり出しました。(それで結局コケてしまったのですが・・・。) dbにアクセスすると、liloやkarnel等に何らかの影響を与えるのでしょうか?まさかそんな事は無いと思いますので、この辺も私の設定ミスが原因かと・・・。 お陰で?システム修復の勉強も出来ましたが・・・(笑) 兎に角、本日よりご指導戴いた手順でチャレンジ致しますが、じっくりとStepbyStepで行います。 このページも余り長々とさせているとOKさんにもご迷惑でしょうから、一旦閉じさせて戴きます。 残暑厳しき折、お体には充分留意下さい。 有難うございました。