- PR -

WAS5.0でデータソースの設定

投稿者投稿内容
ゴン太
常連さん
会議室デビュー日: 2003/11/08
投稿数: 20
投稿日時: 2004-01-08 09:20
Web.xmlはデータソースに関する記述はありませんので、
データソース取得のメソッド部分を表記させてもらいます。


private Connection getDsConnection() {

・・・

Hashtable param=new Hashtable();
param.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
InitialContext ic = new InitialContext(param);
_ds = (DataSource)ic.lookup("jdbc/xxxOracle");


・・・
return _ds.getConnection();
}
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-01-08 09:31
引用:

ゴン太さんの書き込み (2004-01-08 09:20) より:
Web.xmlはデータソースに関する記述はありませんので、
データソース取得のメソッド部分を表記させてもらいます。


private Connection getDsConnection() {

・・・

Hashtable param=new Hashtable();
param.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
InitialContext ic = new InitialContext(param);
_ds = (DataSource)ic.lookup("jdbc/xxxOracle");


・・・
return _ds.getConnection();
}



InitialContext ic = new InitialContext(param);
           ↓
InitialContext ic = new InitialContext();
とするとどうなりますか?
私は常にこうしています。

 エラーとは関係ないですが、
コネクションを取得する度に、
データソースを取得するなら、
データソースを使用する必要はないんじゃ・・・。
ゴン太
常連さん
会議室デビュー日: 2003/11/08
投稿数: 20
投稿日時: 2004-01-08 10:21
ありがとうございます。
ご指摘の通り、

InitialContext ic = new InitialContext(param);
           ↓
InitialContext ic = new InitialContext();

と変更しても同じような結果になります。
WASは、バインドクラスに、com.ibm.websphere.naming.WsnInitialContextFactory
を使用しているようです。

なお、このソースは取得部分の抜粋で、実際は、
データソースを取得するのは初期化時のみになっております。
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-01-08 10:56
引用:

ゴン太さんの書き込み (2004-01-07 14:59) より:
LookUp時には、
「ConnectionFac I J2CA0122I:
リソース参照 jdbc/**** が見つかりませんでした。
そのため、次のデフォルト値が使用されます: [Resource-ref settings]」



というメッセージが出ているところを見ると、JNDI名が違っているとか、そのあたりかな。

管理コンソールで、以下の設定をどのようにされましたか?
 ・環境変数ORACLE_JDBC_DRIVER_PATH
 ・J2C認証データ
 ・JDBCプロバイダー
ゴン太
常連さん
会議室デビュー日: 2003/11/08
投稿数: 20
投稿日時: 2004-01-08 11:20
ありがとうございます。

 ・環境変数ORACLE_JDBC_DRIVER_PATH
   C:\Program Files\WebSphere\AppServer\lib

 ・J2C認証データ
   エイリアス :<ホスト名>/xxxAlias
   ユーザーID :スキーマ名
   パスワード :パスワード

 ・JDBCプロバイダー
   対象    :Oracle JDBC Thin Driver
   有効範囲  :cells:<ホスト名>:nodes:<ホスト名>:servers:server1
   クラスパス :${ORACLE_JDBC_DRIVER_PATH}/classes12.zip
   インプリメンテーション・クラス名
         :oracle.jdbc.pool.OracleConnectionPoolDataSource

 ・データソース
   名前  :xxxDataSource
   JNDI名 :jdbc/xxxOracle
   コンポーネント管理認証エイリアス
       :<ホスト名>/xxxAlias

 ・カスタム・プロパティー
   URL :jdbc:oracle:thin:@ホスト名:1521:Oracleサーバー名
   

といった構成になっております。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-01-08 11:45
引用:

   インプリメンテーション・クラス名
         :oracle.jdbc.pool.OracleConnectionPoolDataSource


oracle.jdbc.pool.OracleConnectionPoolDataSource
            ↓
oracle.jdbc.pool.OracleDataSource

 とりあえず、クラスが間違ってますね・・・。
オラクルのマニュアルくらい読みましょうね。
たーぞう
ぬし
会議室デビュー日: 2003/08/08
投稿数: 317
お住まい・勤務地: お花畑
投稿日時: 2004-01-08 12:02
引用:




\( ´∀`)/ コワーイ

引用:

 ・カスタム・プロパティー
   URL :jdbc:oracle:thin:@ホスト名:1521:Oracleサーバー名


   URL :jdbc:oracle:thin:@Oracleサーバー名:1521:データベース名

が正しいのでは?
ゴン太
常連さん
会議室デビュー日: 2003/11/08
投稿数: 20
投稿日時: 2004-01-08 12:03
えっそうなんですか!
早速、設定し直して、実行してみます。

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