- - PR -
Tomcat5.5でのデータソースの設定について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-09 20:58
お世話になります。
現在以下の環境でデータベース接続の勉強をしています。 OS :Windows2000 SP4 JVM :1.5.0_03-b07 コンテナ:Apache Tomcat 5.5.9 DB :MySQL 4.0.22 JDBC :mysql-connector-java-3.0.16-ga-bin.jar 統合環境:Eclipse 3.0.1 データソースを使ってデータベースと接続しようとしているのですが、 以下のエラーが出てしまい、うまくいきません。 javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' 過去ログやJakarta Projectのホームページを見てserver.xmlの記述を直したりしているのですが、 どうにもうまくいかず行き詰まっています。 どなたかおかしい箇所を教えていただけないでしょうか。 よろしくお願いいたします。 server.xml は始めから記述してあった <Host></Host> の間に 以下の記述を追加しました。 <Context path="/test" reloadable="true" docBase="C:/eclipse/workspace/test" workDir="C:/eclipse/workspace/test/work" /> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" username="jsp10" password="jsp10" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis" maxActive="10" maxIdle="5" maxWait="5000" validationQuery="SELECT count(*) FROM testdb" /> </Context> また、それとは別にC:/eclipse/workspace/test以下にMETA-INFディレクトリを作成し、 そこにcontext.xmlを作成して、上記のContextタグを書いてみました。 しかし、どちらもうまくいきませんでした。 test/WEB-INFには以下の内容を記述したweb.xmlを置いてあります。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <resource-ref> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> 参考にしたのは以下のページです。 ・過去ログ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19752&forum=12&3 ・Jakarta Project http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-resources-howto.html |
|
投稿日時: 2005-06-09 22:50
MySQLのJDBCドライバはどこに配置されていますか?
|
|
投稿日時: 2005-06-09 22:59
接続URLにポート番号の指定は必要ありませんでしたっけ?
あとは、設定ファイルを手書きじゃなくてAdministrator Toolで設定してみるとか・・・。 |
|
投稿日時: 2005-06-10 09:38
>かつのりさん
JDBCドライバは、%CATALIMA_HOME%/common/lib以下に置いてあります。 試しにEclipseでプロジェクトに追加もしてみましたがだめでした。 >Odakazさん 参考書や参考にしたホームページではポートを指定してなかったので、 指定せずにやりました。 指定しなければだめなんでしょうか? Administrator ToolといのはTomcatのやつですか? |
|
投稿日時: 2005-06-10 11:02
どもども
contextレベルでJDBCのリソース定義をしているようですね。 以前Tomcat5.0にて同様の現象があり、グローバルリソースに定義したら javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null' が出なくなりました。 原因が同じかどうかは解りませんが、自分のケースはTomcatのバグだったと記憶しています(バグ番号は忘れました)。 |
|
投稿日時: 2005-06-10 11:48
確かに私もserver.xmlに設定してはまった記憶があります。
特定のコンテキストに対する設定であれば、 $CATALINA_HOME/conf/エンジン名/ホスト名/コンテキスト名.xml で設定するのが無難だと思います(エンジン名、ホスト名は通常Catalinaとlocalhost)。 |
|
投稿日時: 2005-06-10 13:40
アドバイスありがとうございます。
グローバルリソースでの設定と、ukさんの設定を試してみます。 結果がでたら報告します。 |
|
投稿日時: 2005-06-10 14:31
MySQLへの接続URLには、デフォルトのままならポート3306の指定が必要だったように記憶しています。この指定をしなくても良いように出来るかはわかりません。
また、Administration Tool(Administratorではありませんでした。すみません)は、TomcatのWelcomeページ左上の、"Tomcat Administration"というリンクから起動できます。ただ、Tomcat5.5ではデフォルトでインストールされなかったかも知れません。 |