- PR -

WinXP Eclipse2.1.3+Tomcat4.1+Oracle9でデータソース設定

1
投稿者投稿内容
nada
会議室デビュー日: 2004/07/12
投稿数: 3
投稿日時: 2004-07-12 20:06
はじめまして。

件名の環境にて、データソースの設定がどうしてもうまくいきません。

エラーとして、
javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません
at org.apache.naming.NamingContext.lookup(NamingContext.java:811)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)

           ・
           ・
java.lang.NullPointerException
at oracle.doGet(oracle.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)          ・

というエラーが出てしまいます。

server.xmlは下記のようにしています。

<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" scope="Shareable" type="org.apache.catalina.UserDatabase"/>
<Resource name="java:comp/env/jdbc/ORACLE" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="java:comp/env/jdbc/ORACLE">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>nada</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@IPアドレス:ポート番号:SID</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>nada</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>

web.xmlの設定は以下です。

 <servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

<resource-ref>
<res-ref-name>java:comp/env/jdbc/ORACLE</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


また、tomcatのcommon/lib内に
ojdbc14.jar
ファイルも入れています。

まだJava初心者でして、初歩的なミスがあると思いますが
皆様どうかご教授お願いいたします。


追記です。IPアドレス、ポート番号、SIDは間違っていないことは確認済みです。

[ メッセージ編集済み 編集者: nada 編集日時 2004-07-12 20:13 ]
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-07-12 20:46
設定ファイルとかには java:comp/env/ ってのが要らなかったと思いますが。
nada
会議室デビュー日: 2004/07/12
投稿数: 3
投稿日時: 2004-07-12 21:40
早速の助言ありがとうございます。
おっしゃるとおり直したところ、今度は

org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null', cause:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)

というエラーが出てきました・・・
ドライバは合っていると思うのですが・・・

コネクションがうまくいっていないのでしょうか?
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-07-13 20:07
JNDIを使う側のプログラムの問題では?
1

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