- PR -

tomcataからoracleへのDatasouce接続について

1
投稿者投稿内容
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2004-10-20 11:01
こんにちは。いつも参考にさせて頂いています。
早速ですが質問に移らせて頂きます。

Tomcat上のServletからdatasouceを用いて、oracleへ接続しようとしているのですが、
取得するdatasouceがnullとなってしまいます。
環境は以下のようになっています。
---------------------
OS:Linux
Tomcat:4.1.30
Java:j2sdk1.4.0_01
Database:oracle8
---------------------

また、データソース取得部分は、クラスを分け
コード:

public class JdbcWithDS {
private static final Log log =
LogFactory.getLog(JdbcWithDS.class.getName());

private static final JdbcCtrlWithDS jcwds = new JdbcCtrlWithDS();

private static DataSource ds;

private JdbcCtrlWithDS(){
try {
// 初期コンテキストを取得
log.debug("データソースイニシャライズ処理開始");
InitialContext ic = new InitialContext();
// ルックアップしてデータソースを取得
Context envContext = (Context)ic.lookup("java:/comp/env");
ds = (DataSource)envContext.lookup("jdbc/oracle");
if(ds == null){
log.error("データソースがNULLです。");
}
log.debug("データソースイニシャライズ処理終了");
} catch (Exception e) {
e.printStackTrace();
log.error("データソース取得時例外発生");
}
}
/**
* DBコネクションを取得する。
*/
public static Connection getConnection(){
//データソースからコネクションを取得して返す処理
}
}



というクラスのクラスメソッドをサーブレットから呼び出して取得するようにしています。
この際に、上記「データソースがNULLです」というメッセージが表示されます。

server.xmlは以下のようにしています。
コード:

<Context path="" docBase="xxx" debug="0" reloadable="true">
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.Datasource"/>
<ResourceParams name="jdbc/oracle">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>xxxxxx</value>
</parameter>
<parameter>
<name>password</name>
<value>yyyyy</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@ip_add:1501:zzz</value>
</parameter>
</ResourceParams>
</Context>



長文になり申し訳ありません。
何かご存知の方がいらっしゃいましたらご教授下さい。
よろしくお願い致します。

[ メッセージ編集済み 編集者: taiping 編集日時 2004-10-20 11:02 ]
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2004-10-20 12:04
こんにちは。米山@クロノスです。

引用:

taipingさんの書き込み (2004-10-20 11:01) より:
こんにちは。いつも参考にさせて頂いています。
早速ですが質問に移らせて頂きます。

Tomcat上のServletからdatasouceを用いて、oracleへ接続しようとしているのですが、
取得するdatasouceがnullとなってしまいます。

〜省略〜

server.xmlは以下のようにしています。
コード:

<Context path="" docBase="xxx" debug="0" reloadable="true">
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.Datasource"/>
・・・





type="javax.sql.Datasource" の部分。
おかしくないですか?
確かめてみてください。

[ メッセージ編集済み 編集者: 米山@クロノス 編集日時 2004-10-20 12:05 ]
ぬべたそ
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 72
投稿日時: 2004-10-20 15:07
米山@クロノスさん、お返事ありがとうございます。

引用:

米山@クロノスさんの書き込み (2004-10-20 12:04) より:
type="javax.sql.Datasource" の部分。
おかしくないですか?
確かめてみてください。



Datasourceではなくて、DataSourceとしたらデータベースに接続できるようになりました。
本当にありがとうございました。
1

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