- - PR -
WAS5.0でデータソースの設定
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-09 13:46
ありがとうございます。 Oracle JDBC Driver というのは、 Oracle JDBC oci8 Driver のことでしょうか? | ||||||||
|
投稿日時: 2004-01-09 15:25
おっと、5.0.0 では Oracle JDBC Driver というデータソースのタイプはなかったようです (5.0.2 の情報でした)。 Oracle JDBC Thin Driver のままにしといてください。 OCIドライバにしたら、OracleのTypeIIドライバいれないといけなくなっちゃいます。 | ||||||||
|
投稿日時: 2004-01-09 18:44
skulkerさんのアドバイスを参考に、実行してみたのですが、 やはりエラーとなりました。 実行の設定は以下のとおりです。 【web.xml】 <resource-ref> <res-ref-name>jdbc/xxxOracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 【データソース】 名前 :xxxDataSource JNDI名 :jdbc/xxxOracle コンポーネント管理認証エイリアス :<ホスト名>/xxxAlias インプリメンテーション・クラス名 :oracle.jdbc.pool.OracleConnectionPoolDataSource 【WebSphereアプリのインストール時に リソース参照をリソースにマップする設定(ステップ 2)】 既存のリソース JNDI 名を指定:<ホスト名>:jdbc/xxxOracle 参照バインディング :jdbc/xxxOracle JNDI名 :jdbc/xxxOracle この設定で、アプリより Hashtable param=new Hashtable(); param.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); InitialContext ic = new InitialContext(param); _ds = (DataSource)ic.lookup("xxxDataSource"); と実行しました。 System.outログを見ると、サーバー起動時に、 「ResourceMgrIm I WSVR0049I: xxxDataSource を jdbc/xxxOracle としてバインドしています」 Lookup時に javax.naming.NameNotFoundException: xxxDataSource at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup (CNContextImpl.java:1503) at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup (CNContextImpl.java:1457) at com.ibm.ws.naming.jndicos.CNContextImpl.lookup (CNContextImpl.java:1167) というエラーが発生しておりました。 | ||||||||
|
投稿日時: 2004-01-09 19:00
ではなくて、 _ds = (DataSource)ic.lookup("java:comp/env/jdbc/xxxDataSource"); では? | ||||||||
|
投稿日時: 2004-01-09 21:16
に変更して、試みましたが・・・。 javax.naming.NameNotFoundException: Name "comp/env/jdbc/xxxDataSource" not found in context "java:". at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1003) at com.ibm.ws.naming.urlbase.UrlContext.lookup(UrlContext.java:1211) というエラーが返されました。 | ||||||||
|
投稿日時: 2004-01-09 22:21
ではなくて _ds = (DataSource)ic.lookup("java:comp/env/jdbc/xxxOracle"); ですよ。 java:com/envはAPサーバ非依存の内部名ですから、 web.xmlの<res-ref-name>のところとバインドされます。 <resource-ref> <res-ref-name>jdbc/xxxOracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> その後、デプロイするときにAPサーバによって、JNDI名にバインドされます。 ゴン太さんの設定ですと、 JNDI名 :jdbc/xxxOracle になります。 名前が同じで紛らわしいので、 JNDI名 :jdbc/yyyOracle として名前を変えたほうが問題の切り分けがやりやすいと思います。 また、WAS5.1の場合、WEBで設定できますので、どうせ評価版であるなら、 そちらで試してはどうでしょうか? 今月のDBマガジンに付録が付いてます。 わたしは、WAS5.1 + Oracle8(Thin)で問題なく設定できてます。 | ||||||||
|
投稿日時: 2004-01-09 22:35
えっ!もう、V5.1の評価版が出ているんですか?
製品のサイクルって、早すぎる・・・。 | ||||||||
|
投稿日時: 2004-01-13 12:14
本屋で、今月のDBマガジン(2月号)の付録を見てみましたが、
WASのV5.0と書いてました・・・。 実は中身はV5.1かな〜。 | ||||||||
