Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

OracleデータベースへJNDI接続時のエラー

開発環境:
3.2.0(WinXP)
Tomcat5.5
oracle10g
-------------
オラクルデータベースにJNDIを用いてアクセスを試みています。
しかし、Tomcatの起動時に

致命的: Null component Catalina:type=DataSource,path=/Test,host=localhost,class=javax.sql.DataSource,name="jdbc/oracle"

また、WEBアプリ上から実行すると

javax.naming.NameNotFoundException: 名前 java:comp はこのコンテキストにバインドされていません

と出力されます。

とういう表示が出てしまい、データソースが見つからないとう状況です。
WEB上で似たような事例を調べて試しましたが解決には至っていません。

【web.xml】
<resource-ref>
        <res-ref-name>jdbc/oracle</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>

【Tomcat:context.xml】

<Context>
<Resource name="jdbc/oracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@<DBのIP>:1521:<SID>"
username="<アカウント>" password="<パスワード>" maxActive="20" maxIdle="10"
maxWait="-1"/>
</Context>

また、{$TOMCAT_HOME}\conf\Catalina\localhostにもcontextを追加しても駄目でした。


【ソース】
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/oracle");
conn = ds.getConnection();


以上になります。
なにか足りない記述やパスが通っていないなどの理由があるのでしょうか。
よろしくお願い致します。

4

回答

10749

閲覧

4件の回答

評価

0

検索結果は?

評価

0

検索結果というのはWEB上で、調べたことでしょうか。

以前、この掲示板でも似たような質問をされておられる方の場合は、ソースのパスが間違っていたり、コンパイルの準拠レベルが違っていたりなどがありました。

下記のサイトも参考にしましたが、解決には至ってないようで・・・

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29537&forum=12&8

評価

0

古いxmlが残ってるとか、workの下を消せとかもあったが?
元々向こうさんのものだから、日本語のサイトだけ探さないほうがいいよ。

評価

0

ありがとうございます。
もっと深く検索したいと思います。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。