- - PR -
WAS5.0でContextからlookupで例外
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-05-11 16:07
いつも参考にさせて頂いています。
--------------------------------------------------- WAS Express5.02(Site Developer)にてJNDIを使ってDB2に接続を 試みているのですが、ContextからlookupするとConfigurationException になってしまいます。 WASの環境設定の問題と推測しているのですが、どうしても解決できず 困っています。どなたかご指摘下さい。 ちなみにDriverManagerを使用すると問題なく接続できています。 よろしくお願いします。 --------------------------------------------------- 【ロジック】 java.util.Properties env = new java.util.Properties(); env.setPropert(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); Context ctx = new InitialContext(env); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/xxxdb"); 【→例外(lookup時)】 javax.naming.ConfigurationException: Name space accessor for the java:name space has not been set. Possible cause is that the user is specifying a java: URL name in a JNDI Context method call but is not running in a J2EE client or server environment. at javax.naming.InitialContext.getURLOrDefaultInitCtx (InitialContext.java:292) 【設定】 ・外部JAR追加 ・cm.jar、websphere.jar、db2java.zip ・web.xml <resource-ref id=〜> <res-ref-name>jdbc/xxxdb <res-type>javax.sql.DataSource <res-auth>CONTAINER <res-sharing-scope>shareable <resource-env-ref id=〜> <resource-env-ref-name>jdbc/xxxdb <resource-env-ref-type>javax.sql.Datasource ・サーバ ・JDBCプロバイダー 対象 :DB2 JDBC Provider 有効範囲 :DefaultNode/DefaultNode/server1 クラスパス :${DB2_JDBC_DRIVER_PATH}/db2java.zip インプリメンテーション・クラス名 :COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource ・データソース 名前 :jdbc/xxxdb JNDI名 :jdbc/xxxdb コンポーネント管理認証別名:jdbc/xxxdb コンテナ管理認証別名:jdbc/xxxdb ・ポート ORBブートストラップ:2809 ・DBサーバ 接続名:jdbc/xxxdb データベース:xxxdb データベースベンダー型:DB2 Universal Database V8.1 ユーザID:ユーザID パスワード:パスワード |
|
投稿日時: 2004-05-12 06:27
DDに環境エントリを書いていますか?
|
|
投稿日時: 2004-05-12 09:21
こんにちは、以前WAS3.5からのバージョンアップで苦労した所なんですが、
データソース名に java:comp/env/jdbc/xxxdb と設定しなければいけなかった様な気がします。 的外れだったらごめんなさい。 |
|
投稿日時: 2004-05-12 09:35
JDBCプロバイダーを"DB2 Universal JDBC Driver"に変更してみたらいかがでしょう?
クラスパスを通して、管理認証エイリアスを登録して、カスタム・プロパティで接続先のDB名を指定するくらいで、手元の環境ではつながりました。 調べていたらこんなサイトがありました。 http://www-6.ibm.com/jp/software/websphere/developer/wv5/express_2/pdf/5.pdf http://www-6.ibm.com/jp/software/websphere/developer/wv5/tips/index.html#13 |
|
投稿日時: 2004-05-12 13:56
Anthyhimeさん、はやぷさん、はるちょさん、ご意見有難うございます。
【Anthyhimeさん】へ デプロイメントディスクリプタには、WASのGUIにてweb.xml、ibm-web-bnd.xmi、 ibm-web-ext.xmiにJNDI名を含め設定しています。特に確認する点ありますか。 【はやぷさん】へ データソース名を変更してみたのですが同様の例外が発生してしまいます。 【はるちょさん】へ サイトのご紹介有難うございます。DB2 JDBC Providerは推奨されていませんね。 こちらで稼動実績があったので使用していました。参考になります。 ただ、DB2 Universal JDBC Driverに設定を変更してみたのですが、同じ例外が 発生してしまいます。御手元の環境と比較して確認するポイント等ありましたら、 教えて頂けると幸いです。 |
|
投稿日時: 2004-05-12 14:38
そういえば、DB2でデータベースのカタログは作成してありますか?
DB2の構成アドバイザーからCLI,JDBC等での接続テストがあったと思いますがどうでしょう? (また外れていたらすみません。 |
|
投稿日時: 2004-05-12 15:24
引用:-------------------------------------------------------------------------
そういえば、DB2でデータベースのカタログは作成してありますか? DB2の構成アドバイザーからCLI,JDBC等での接続テストがあったと思いますがどうでしょう? ------------------------------------------------------------------------------ DB2構成アシスタントからJDBCテスト接続で正常に繋がるので問題ないと思うのですが。 |
|
投稿日時: 2004-05-12 17:44
JDBCプロバイダーのクラスパスに以下も設定するといかがでしょうか?
${DB2_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar ${DB2_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar |
