• ベストアンサー

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

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使ってます。 以上です。

  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
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

  • 使用すべきOracle8i用JDBCドライバのバージョンについて

    下記の構成でTomcatからデータソースを利用して DBにJDBC接続しようと思っています。 【OS】 WindowsXP 【JDK】 1.4.15 【アプリケーションサーバ】 Tomcat4.1.36 【データベース】 Oracle8.1.5 Oracleインストール後、%ORACLE_HOME%/jdbc\lib/以下のフォルダには 下記のJDBCドライバしかありませんでした。 classes102.zip (JDK 1.0.2 用) classes111.zip (JDK 1.1.x 用) また下記のURLよりOracle JDBC Driver 8.1.5のJDBCドライバをダウンロードしようと試みました。 http://otn.oracle.co.jp/software/tech/java/jdbc/index.html ところが、Oracle8iについては8.1.7のJDBCドライバのみ公開しており、 その内容を見ても下記のJDBCドライバしかありませんでした。 classes111.zip(JDK 1.1.x 用) classes12.zip(JDK 1.2.x 用) 今回の私の環境では、どこからどのバージョンのJDBCドライバを入手して 使用すればいいのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • Java
  • TOMCATのstartup.batによる起動とNTサービスによる起動の違い

    現在TOMCATをアプリケーションサーバとして開発を行っているものです。テスト環境ではTOMCATをstartup.batで起動してRuntime.getRuntime().exec(command)を使用して別アプリケーションを動かしていました。ですが、サービスより起動したところ、動作しなくなってしまいました。 startup.batとサービスからの起動では何か違いがあるのでしょうか。 なお、使用しているTOMCATのバージョンは4.1.29です。 ご存知のかた、いらっしゃいましたらよろしくお願いします。

  • ぜひ教えて頂きたいことがあります。

    ぜひ教えて頂きたいことがあります。 Eclipseを使用し、Javaで開発したアプリケーションを動かしたいのですが、どうも上手く動きません。 原因は、ポートの開放ではないかと知人には教えてもらったのですが、8080ポートは開放しています。 もしかしたら他のポートも内部的に使用しているのではないか?とも思ってはいるのですが、どこで指定するのかが分からないで困っています。(TomcatやEclipse上で指定するのでしょうか?) 大変申し訳ないのですが、どなたか教えていただけないでしょうか? 環境は以下のようになっています。 よろしくお願い致します。 サーバー:Windows Server 2008 Webサーバー:Tomcat DB:PostgreSQL8.4 クライアント:WindowsXP

  • JDBCレルムによるFORMパスワード認証

    JDBCレルムによるFORMパスワード認証 以下のようなエラーが出てデータベースに接続できません: 2010/03/28 4:13:21 org.apache.catalina.realm.JDBCRealm start 致命的: データベース接続オープン中に例外が発生しました java.sql.SQLException: org.gjt.mm.mysql.Driver at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:704) at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:786) server.xmlのデータベースに関する部分は以下の通りです: <Realm className="org.apache.catalina.realm.JDBCRealm" connectionURL="jdbc:mysql://127.0.0.1/authorization" driverName="org.gjt.mm.mysql.Driver" connectionName="root" connectionPassword="" ←ここは空欄でいいですか? roleNameCol="role" userCredCol="password" userNameCol="username" userRoleTable="roles" userTable="users" /> …検索してみるとorg.gjt.mm.mysql.Driverは古いのでcom.mysql.jdbc.Driverを使うべき、とありました (http://www.javadrive.jp/servlet/auth/index5.html)。 しかし、org.gjt.mm.mysql.Driverをcom.mysql.jdbc.Driverに変えてみましたが、結果は変わりません。 本来、どちらが正しいのでしょうか? ←まずはこの質問の回答をお願いします あと、自分のMySQLはユーザー名は"root"で設定してあるのですが、パスワードは設定していません (つまり、MySQLをコマンドラインから起動するときはパスワードを空欄のままEnterを押して入れます)。 自分の場合、connectionNameとconnectionPasswordは上記の通りで良いのでしょうか?  ←次にこの質問の回答をお願いします Tomcatのライブラリは以下の通りです: Directory of C:\apache-tomcat-6.0.26\lib [.] [..] annotations-api.jar catalina-ant.jar catalina-ha.jar catalina-tribes.jar catalina.jar el-api.jar jasper-el.jar jasper-jdt.jar jasper.jar jsp-api.jar servlet-api.jar tomcat-coyote.jar tomcat-dbcp.jar tomcat-i18n-es.jar tomcat-i18n-fr.jar tomcat-i18n-ja.jar MySQLのデータはちゃんと入力されており、MySQL単体であれば、もちろん動作します: mysql> select * from roles; +----+----------+--------+ | id | username | role | +----+----------+--------+ | 1 | nakamura | member | | 2 | tanaka | member | +----+----------+--------+ mysql> select * from users; +----+----------+----------+ | id | username | password | +----+----------+----------+ | 1 | nakamura | 1234 | | 2 | tanaka | 5678 | +----+----------+----------+ …では、宜しくお願いします。

    • ベストアンサー
    • Java
  • データソースを変えるとエラー!?

    現在ローカルPCでTOMCAT5を使って開発していますが 今までは同じローカルPC内にあるMYSQLを使っていましたが、そろそろDBを共通のものに しようとして外部にあるORACLEにしようとしています。 そこで、%catalina_home%/conf/catalina/localhost/hogehoge.xml の<url>の <jdbc>jdbc:mysql://localhost/hogehoge<value> から <jdbc>jdbc:oracle:thin:@10.0.0.1:1521:HOGEHOGE</value> に変えただけなのですが、なぜかユーザ承認後に403「要求されたリソースへのアクセスが拒否されました。」 と出ます。外部のDBを読みに行くときには何かほかに設定を見直さないといけないのでしょうか?

  • Tomcat4.1のNTサービスについて

    JavaでWebアプリケーションの開発をしています。 開発環境はクライアントOS:winXP、JDK1.4、Eclipse2.1.3、Tomcat4.1.30、データベースはAccess2002を使用しています。データベースへはJDBC-ODBC経由で接続しており、 開発環境では問題なくデータベース参照、更新が可能です。 次にクライアント~サーバー間のテストをするために、サーバー(OS:win2000)側へTomcatをNTサービスを適用した状態でインストール、データベース、モジュール(WARファイル)を移設、データベースを参照しようとしたところ、アクセスできなくなりました。 TomcatをNTサービス適用せずに手動で起動するばあいには、開発環境と同じように問題なく稼動します。 NTサービスを適用した状態でデータベースにアクセスできるようにするには、どのような設定が必要なのでしょうか?またはODBC以外の接続方法を検討する必要があるのでしょうか? ご存知の方、おられましたらアドバイスお願いいたします。

    • ベストアンサー
    • Java
  • eclipseからtomcat起動できない

    eclipse から Tomcat を起動すると、 "Could not find the main class. Program will exit!" というエラーダイアログが表示され、 コンソールには、 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap Exception in thread "main" とエラーが表示されます。 まったくの初心者でどうしたらよいのか解らず困っています。 どうしたらよいのか教えてください。 (環境) Tomcat 5.5.20 JDK 5.0.9 Eclipse 3.2.1

  • Tomcatがサービス起動しない

    Servlet,JSPでシステムを構築しています。 Tomcatをインストールしたところ,なぜか%CATALINA_HOME%\bin\startup.batからでないと起動しません。管理ツールのサービスから起動しようとすると「サービス起動中にエラーが発生しました」と出て起動ができません。 開発用クライアントやサーバではそのような問題は出ていないのですが,本稼動用のサーバでのみそういった症状がでます。原因が良くわからずに困っています。 ------------------------- JAVA SDK 1.4.2 Tomcat 5.0.19 OS:Windows2000 Server Apache 2.0.49 JAVA_HOME=C:\j2sdk1.4.2 CATALINA_HOME=C:\Progra~1\Apache~1\Tomcat~1.0 (C:\Program Files\Apache Software Foundation\Tomcat 5.0)です。 ----------------------------

  • 【TomcatプラグインでTomcatが起動しません。】

    【TomcatプラグインでTomcatが起動しません。】 今、サーバサイドJavaの勉強をしようと思い、TomcatとeclipseのTomcatプラグイン を入れました。 eclipseのUIにTomcatプラグインの表示がでているので、プラグインのインストール そのものは上手く行ってると思います。 環境変数など、色々触ってみたのですが状況に変化なしです。 環境変数については、色々webで調べてみたのですが、JAVA_HOMEとCATALINA_HOMEを設定 するようにとあったので、それを設定してみたのですがだめでした。 JAVA_HOMEはJDKのインストールディレクトリ、CATALINA_HOMEはTomcatのホームディレクトリ でいいと思うのですが・・・・ 当方の環境 OS:windowsXP pro Tomcatのバージョン:6.0 JDKバージョン:1.6.0_17 何かアドバイスなどありましたらお願いいたします。

  • MySQL のJDBCの方法

    eclipseでの開発をしたいと思っています。 技術初心者です。 【環境】 WebLogicサーバを使用 MySQL4.0.16 です。JDBCの接続方法がわかりません。 ネットで調べてみたけれどわからなかったので どうかよろしくお願いします。

専門家に質問してみよう