- PR -

TomcatでJNDIリソースが作成できない

1
投稿者投稿内容
ahomaro
会議室デビュー日: 2002/06/03
投稿数: 7
投稿日時: 2002-08-22 00:59
みたです

WindowsXP
Tomcat4.1.9β or 4.0.4
JDK1.4.01

という環境で使用しています。

TomcatのJNDIデータソースを使えるようにしようとしているのですが、
以下のエラーがでてしまいます。

javax.naming.NamingException: Cannot create resource instance

発生しているコードは以下のようになっていて、
DataSourceを作成するところで例外となっています。

System.out.println("initCtx");
Context initCtx = new InitialContext();

System.out.println("datasource");
DataSource ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/mydb");

server.xmlには以下のように定義しました。

<Context path="/sg" docBase="c:/sg/webapp" debug="0"
reloadable="true" crossContext="true">
<Loader checkInterval="5" />
<Resource name="jdbc/mydb" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mydb">
<parameter><name>user</name><value>****</value></parameter>
<parameter><name>password</name><value>****</value></parameter>
<parameter>
<name>driverClassName</name>
<value>gwe.sql.gweMysqlDriver</value>
</parameter>
<parameter>
<name>driverName</name>
<value>jdbc:mysql://localhost:3306/mydb</value>
</parameter>
</ResourceParams>
</Context>

web.xmlには以下を追加しました
<resource-ref>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


ちなみに、JNDIを使用せずにDriverManager.getConnectionを使用した場合には
接続することができました。
会社ではうまくいってるのですが家ではなぜかうまくいきません。
何か忘れてるんだと思うのですが・・・
1

スキルアップ/キャリアアップ(JOB@IT)