いいね!数

0

閲覧数
424

お世話になります。

XPagesでのJDBC接続を行いたく、XpagesExtensionLibrary901をサーバーにインストールしましたが、

Javaコードのxpages/DBUtil.javaの、JdbcUtil.getConnectionがエラーになり、接続ができません。

何か情報をお持ちではないでしょうか。

ExtensionLibraryのバージョン:901v00_12.20150311-1316

Dominoサーバーのバージョン:9.0.1FP1

PCのDesignerのバージョン:9.0.1FP3

OracleJDBCドライバ:ojdbc14.jar、ojdbc5.jar、ojdbc6.jar

■参考にしたサイト

XPages Extension Library のリレーショナルデータベース連携のデモを使用する

<<http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Japanese_configuring_XPages_Relational_Database_Support_Demo>>

■試したこと

・DominoサーバーへUpdateSite.nsfを使ってExtensionLibrary901インストール

・PCのDesignerへ、アプリケーションのインストールを使ってインストール

・Designerに追加されたJDBCPluginWizardを使って、OracleのJDBCドライバのUpdateSite用のインストールパッケージを作成

 ojdbc14.jar、ojdbc5.jar、ojdbc6.jarの3種類を別名でそれぞれ作成

・OracleのJDBCドライバをUpdateSite.nsfを使ってインストール

UpdateSiteイメージ

・Dominoサーバーを再起動して、サーバーコンソールで以下コマンドで、インストールされていることを確認。

 > tell http osgi ss oracle
 2015/04/22 17:22:11   Framework is launched.
 2015/04/22 17:22:11   id    State       Bundle
 2015/04/22 17:22:11   18    RESOLVED    com.oracle.jdbc.driver_1.0.0.20150408-1428
 2015/04/22 17:22:11   30    RESOLVED    com.oracle.jdbc.driver5_1.0.0.20150409-1702
 2015/04/22 17:22:11   42    RESOLVED    com.oracle.jdbc.driver4_1.0.0.20150408-1543

・ExtensionLibrary901に付属しているXPagesJDBC.nsfをDominoサーバーに設置し、署名を実施

・XPagesJDBC.nsfのXSPプロパティで、com.ibm.xsp.extlib.relational.libraryにチェックが付いていることを確認。

・XPagesJDBC.nsfでパッケージエクスプローラーで、WebContent\WEB-INF\jdbc\にoracle.jdbcファイルを作成し、以下記述。

<jdbc>
    <driver>com.oracle.jdbc.driver5</driver>
    <url>jdbc:oracle:thin:@IPアドレス:ポート:SID</url>
    <user>ユーザー名</user>
    <password>パスワード</password>
</jdbc> 

・XPagesJDBC.nsfのクリーン、再ビルド

・XPagesJDBC.nsfのセットアップ画面(JDBC_SetupHome)から、「テスト接続」でエラー「Connection failed, java.sql.SQLException」が発生。

・OracleのJDBCではなく、もともと設定されているderby1のまま使ってもエラー。

 

よろしくお願いいたします。

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:2015/04/22 17:31:22

回答・コメント

いいね!数

0

DataInitializer.java および DBUtil.java でインポートしている DatabaseHelper および JdbcUtil のパスが 9.0.1 + ExtLib の環境では

変更になっているようです。以下のように書き換えることで動作しませんでしょうか?

 

//import com.ibm.xsp.extlib.jdbc.dbhelper.DatabaseHelper;

import com.ibm.xsp.extlib.relational.jdbc.dbhelper.DatabaseHelper;

//import com.ibm.xsp.extlib.util.JdbcUtil;

import com.ibm.xsp.extlib.relational.util.JdbcUtil;

 

com.ibm.xsp.extlib.relational_9.0.1.v00_12_20150311-1316.jar がちゃんとパスの通っているところに導入されている事が前提になります。

回答日時:2015/04/23 0:48:37

いいね!数

0

早速のご回答誠にありがとうございます。

「■試したこと」にもれがありました。申し訳ございません。

ご回答いただいたように、importしているライブラリのパスは、すでに修正しておりました。

import com.ibm.xsp.extlib.relational.jdbc.dbhelper.DatabaseHelper;
import com.ibm.xsp.extlib.relational.util.JdbcUtil;

デバッグしながら上記のパスの修正まで実施しましたが、この修正を適用してある状態でも動作しない状況です。

また「com.ibm.xsp.extlib.relational_9.0.1.v00_12_20150311-1316.jar がちゃんとパスの通っているところに」についてですが、

DominoサーバーのUpdateSite.nsfでインストールした時には、これ以上にサーバーOS上で、jarの配置や、ClassPath等、設定する必要があるのでしょうか?

Dominoの、tell httpコマンドでACTIVEになっていることは確認できました。

> tell http osgi ss relational
2015/04/23 17:20:06   Framework is launched.
2015/04/23 17:20:06   id    State       Bundle
2015/04/23 17:20:06   19    ACTIVE      com.ibm.xsp.extlib.relational_9.0.1.v00_12_20150311-1316

よろしくお願いいたします。

回答日時:2015/04/23 17:45:36

いいね!数

0

com.ibm.xsp.extlib.relational_9.0.1.v00_12_20150311-1316.jar へのパスですが、

コード上で import 文を修正したさいに特に参照エラーなどが出ていなければきちんと導入されていると思います。

 

エラーが発生した際に、\domino\workspace\applications\eclipse の下にある logs ディレクトリにエラーの詳細などがあるかと思いますが、

Connection failed, java.sql.SQLException よりも詳細なログが出ていないでしょうか?

回答日時:2015/04/28 20:37:21

いいね!数

0

ありがとうございます。

import 文を修正したさいに特に参照エラーなどが…」については、エラーは出ていませんでした。

ログですが、Dominoサーバーの、「D:\Program Files\IBM\Domino\data\domino\workspace\logs」以下には、

error-log-0.xmlや、trace-log-0.xmlがありますが、詳細なログは出力されていませんでした。

コンソールログの、「2015/04/30 14:19:50   HTTP JVM: java.sql.SQLException」だけが出力されている状況です。

よろしくお願いします。

 

回答日時:2015/04/30 14:32:09

いいね!数

0

自己解決しました。

FP8で再度試してみたところ、OracleJDBCドライバを使用して、以下、実現できるようになりました。

①JDBC Driver Plug-in Wizardを使用して、OSGIプラグインモジュールの作成

 Class設定で、デフォルト「oracle.jdbc.OracleDriver」であるところを「oracle.jdbc.driver.OracleDriver」に修正する必要がありました。

 コネクションプール設定のxxxx.jdbcファイルでは、<driver>に「oracle.jdbc.driver.OracleDriver」を指定します。

②updateSite.nsfに、①で作成したJDBCドライバのプラグインモジュールをインポート

③コネクションプールを使用したOracle接続

 @JdbcGetConnection("接続名")で、java.sql.connection生成  ※接続名は、コネクションプール設定のxxxxx.jdbcのxxxxxを指定。

 

よろしくお願いします。

回答日時:2017/08/22 13:39:29