TomcatからPostgresqlに接続してみる
IDG JAPANからでているJava WORLD for Beginnersというムックを買ってきました。
VineLinux2.5ではデフォルトでPostgresqlがインストールされているので、前からこいつを使う方法が無いものか?と思っていたのです。
そんな時に、このムックで Tomcat+Postgresql を使ったWebアプリケーションの作り方が載っていたので、作ってみようと思ったのでした。
この本では、Windows上で動かすのを前提で書いてあります。
Postgresql も、Cygwinで動かしてます。(汗)
ま、CygwinもLinuxも似たようなもんだろうと思って、深く考えずに作り始めたのでした。
で、なんとかPostgresqlを使おう!ってな所までたどり着き、実行してみたところエラーが!!
SQL Exception No suitable driver
そんなドライバは知らん!! と言われてます・・・。
そんなはずは!
ちゃんと Class.forName( "org.postgresql.Driver" ); でクラスを呼んでるし、
Connection connection = DriverManager.getConnection( DB_URL, DB_USER, DB_PASSWORD );
でコネクションオブジェクトも作成できてるはず!!
なんでや~!!と思ってPostgresql(Ver7.43)のページに行ってみた所、ドライバのある所にCLASSPATHを通さなくてはいけないらしい・・・。
「ドライバを使うためには、JAR ファイル (ソースからコンパイルした場合は postgresql.jar、そのほかの場合はそれぞれ JDBC 1、JDBC 2、JDBC 3 バージョンである、pg7.4jdbc1.jar、pg7.4jdbc2.jar、pg7.4jdbc3.jar)をクラスパスに含む必要があります。」
って書いてあったので、それらしきファイルを探してみたのだけど見つかりません・・・。
そんなばかな!
このPostgresqlには、JAVA用のドライバが無いのか?!?
ちょっとまて。こいつのPostgresqlのバージョンっていくつだっけ?と思ったら
/var/lib/pgsql/data/PG_VERSION
ってなそのまんまな名前のファイルを発見し、見てみたところ バージョン7.2でした。
で、バジョン7.2のページを見てみると、
「jar ファイル(ソースからコンパイルした場合は postgresql.jar、さもなくば、それぞれ jdbc1、jdbc2 バージョンである、jdbc7.2-1.1.jar または jdbc7.2-1.2.jar)をクラスパスに含む必要があります。」
って書いてある。
・・・・・ファイル名違うやん!! ころころ変えんな~!!
find / -name jdbc* とコマンド打って検索したら、出てきました! しかもバージョン違うのが4つも!(笑)
とりあえず、その1つにCLASSPATHを通して実行してみました。
・・・・また同じエラーが。 ????なんで????
Googleを使って検索してみると、どうやらJDBCのURLが間違っている時に出るエラーのようです。
ソース見ても間違っていないのにな~。わからん・・・。
CLASSPATHの通し方が違っているのかなと思い、調べてみると、
「TOMCATから使うなら、$TOMCAT_HOME/libが良いでしょう。」ってなのにヒットした。
なに~!?Tomcatに直接置けばいいのか!?
そんなのこのムックのどこにも載って・・・・・・。
・・・。載ってました~。(T_T)
本では、postgresql.jarをコピーし、WEB-INF\lib に置けばいい、みたいなことが書いてありました。
しかも、ここに置いておけばCLASSPATHを設定しなくても勝手に読んでくれるそうです。
で、 jdbc7.1-1.2.jar をWEB-INF\libに置いたら、ちゃんと動くようになりました!!
もっとしっかり本読んでおけば・・・・・。ま、ファイル名が違うことには気づいたんだから良しとするか。
| 固定リンク
「JAVA」カテゴリの記事
- 先月Javaのサーブレット関連でハマったこと2点(2013.09.01)
- All-In-One Eclipseを使用する(2007.03.04)
- Eclipse+LombozプラグインでStrutsの環境を作る(2005.08.27)
- JSPのコンパイルができなくなりハマる(2005.08.21)
- EclipseのLombozプラグインのインストールでハマる(2005.08.12)
「Postgresql」カテゴリの記事
- Webサーバ構築時の全コマンド(2008.08.06)
- Webサーバ構築時の全コマンド(VineLinux2.6)(2006.01.03)
- Postgresql用のGUIツールを探す(2004.10.24)
- TomcatからPostgresqlに接続してみる(2004.10.02)
「Tomcat」カテゴリの記事
- 先月Javaのサーブレット関連でハマったこと2点(2013.09.01)
- Webサーバ構築時の全コマンド(2008.08.06)
- Webサーバ構築時の全コマンド(VineLinux2.6)(2006.01.03)
- Eclipse+LombozプラグインでStrutsの環境を作る(2005.08.27)
- JSPのコンパイルができなくなりハマる(2005.08.21)
コメント