• ベストアンサー

不思議なことが起こります。

Servlet & JSPでサーバサイドのアプリケーションを構築しています。Eclipse上でTomcatを起動するとうまくDBに接続できるのですが,%CATALINA_HOME%\bin\startup.batでTomcatを起動するとうまくDBに接続できません。このままでは開発用の環境ではきちんと動きますが,本稼動用のサーバではアプリケーションが動作しません。どなたかわかる方いらっしゃいませんか? 開発環境です。 IDE:Eclipse2.1 DataBase:Oracle8i JDBC:classes12.jar Application Server:Tomcat5.0 JNDI使ってます。 以上です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#227796
noname#227796
回答No.2

#1ですでに書かれているように、CLASSPATHが通っていないからでしょう。 Tomcat起動時にCLASSPATHを通すようにバッチファイルを記述しても良いのですが、 $CATALINA_HOME/common/lib にJDBCドライバを設置すれば解決するでしょう。 #拡張子は「.jar」でないと、Tomcatが認識してくれませんので注意。 #というか、classes12.jarなので問題ないですね。 また、JNDIを利用するとのことですから、Datasourceの設定をしないといけませんが、そこら辺はどうでしょか? DataSourceの設定自体は、Eclipseから起動する場合も同様のはずですので、やっていると思いますが・・・ ↓Tomcatのドキュメントにも説明がありますので、参照しましょう。 http://www.jajakarta.org/tomcat/tomcat5.0/mix/docs/tomcat-docs/jndi-datasource-examples-howto.html ↓あとここら辺とか。 http://www.atmarkit.co.jp/fjava/javatips/004container003.html 上記サイトでは、server.xmlを直接編集してますが、Tomcatの管理画面 http://localhost:8080/admin/ から設定した方が楽ですけど。 それから、蛇足になりますが・・・ JDK1.2,1.3の場合は問題ないですが、もしもJDK1.4を使用している場合には、classes12.jarではない方が良いでしょう。 JDK1.4の場合は、OTN(http://otn.oracle.co.jp/)から、Oracle9iまたは10g用のJDBCドライバ(ojdbc14.jar)をダウンロードし、そちらを使うようにした方が良いです。 また、classes12.jarを使う場合も、Oracle8i用のものではなくて、9iか10gのものを使った方が良いと思いますよ。

その他の回答 (1)

  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

思いつきというか、ありがちな話でしかありませんが。 データベース接続用ドライバが、Eclipseのクラスパスには入っていてTomcatのクラスパスに入っていないのではありませんか。

関連するQ&A