- - PR -
Tomcat+MySQLでJNDIのLookupができない
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-10 11:17
はじめまして。
Tomcat + MySQL で JNDIのLookupを行っているのですが、エラーになります。 ケアレスミスだと思うのですが、困っています。どなたかアドバイスをお願いします。 【エラー】 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) 【環境】 Tomcat 5.5.20 MySQL 5.0.24 JDBCドライバ : [TomcatインストールDIR]\common\lib\mysql-connector-java-5.0.3-bin.jar 【server.xml の追記】 <Context path="/test01" docBase="/test01" debug="0" reloadable="false" crossContext="true"> <Resource name="jdbc/Struts" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="user" password="password" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=Windows-31J"/> </Context> 【web.xml の追記】 <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/Struts</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 【JNDI lookup部分のソース】 Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/Struts"); db = ds.getConnection(); 【URL】 http://localhost:8080/test01/・・・ | ||||
|
投稿日時: 2006-11-10 11:23
<Resource>タグに以下のようなfactory属性を入れてみるとどうでしょうか。
<Resource ...中略... factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" /> | ||||
|
投稿日時: 2006-11-10 11:37
vincentさんアドバイスありがとうございます。
ご指摘の通りにして試してみましたが、結果は同じでした。 <Resource name="jdbc/Struts" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" maxActive="100" maxIdle="30" maxWait="10000" username="user" password="password" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=Windows-31J"/> 他に何か考えられる方法はないでしょうか・・・。 なお、StackTraceの最後に Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(Unknown Source) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773) と表示されていましたので、付け加えておきます。 よろしくお願いします。 [ メッセージ編集済み 編集者: ひろし 編集日時 2006-11-10 11:39 ] | ||||
|
投稿日時: 2006-11-10 11:51
JDBCドライバがないって出てるし・・・。 エラーメッセージはちゃんと読みましょう。 | ||||
|
投稿日時: 2006-11-10 12:00
あしゅさんコメントありがとうございます。
JDBCドライバがない理由が分からないのです。 Eclipse => Tomcat => JVM の設定 で mysql-connector-java-5.0.3-bin.jar をクラスパスに通していますし、JAR内に org.gjt.mm.mysql.Driver があることも確認しています。 [ メッセージ編集済み 編集者: ひろし 編集日時 2006-11-10 12:00 ] | ||||
|
投稿日時: 2006-11-10 12:32
TomcatでJDBCドライバを置くべき場所は、 ${CATALINA_HOME}/common/libです。 | ||||
|
投稿日時: 2006-11-10 12:49
二ヶ月前にも同じような質問が来てましたよ。
↓ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33165&forum=12&7 http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html | ||||
|
投稿日時: 2006-11-10 13:20
みなさん回答ありがとうございます。
ですのでちゃんとJDBCドライバは配置できていると思うのですが・・・。 [ メッセージ編集済み 編集者: ひろし 編集日時 2006-11-10 13:47 ] |
1|2|3
次のページへ»