Apache Derby を使用する UDDI データベースが WebSphere® Application Server バージョン 6.1 以前で作成されていて、現在は Apache Derby バージョン 10.2 以降を使用している場合は、
データベースをマイグレーションする必要があります。
Apache Derby バージョン 10.2 より前の Apache Derby バージョンなど、その他のサポート対象データベースを使用する UDDI データベースがある場合は、この手順を実行する必要はありません。
始める前に
WebSphere Application Server のインストール済み環境をマイグレーションします。
アプリケーションをマイグレーションするオプションを必ず選択して、UDDI レジストリー・アプリケーションがマイグレーションされるようにします。
このタスクについて
この手順は、UDDI データベースで Apache Derby バージョン 10.2 以降が現在使用されている場合に使用します。
このバージョンの製品では、そのようなデータベースは Apache Derby バージョン 10.3 で使用されています。通常、データベースのマイグレーションが必要なのは、Apache Derby を使用する UDDI データベースが WebSphere Application Server バージョン 6.1 以前で作成されており、本製品の現行レベルにサーバーをアップグレードする場合です。
データベースをマイグレーションしない場合、現行レベルの本製品上で実行されている UDDI レジストリー (Apache Derby バージョン 10.2 を使用しているもの) にビジネス・エンティティーを保存する際に、以下のエラーが発生します。
要求の処理時に重大なテクニカル・エラーが発生しました。
手順
- UDDI データベースを使用しているすべてのサーバーが停止されていることを確認します。
- 以下のコマンドを使用して、Apache Derby コマンド・プロンプトを開始します。
WAS_HOME/derby/bin/embedded/ij
- 以下のコマンドをコマンド・プロンプトで実行します。
CONNECT 文にある UDDI データベースのロケーションは置き換えてください。
connect 'WAS_HOME/profiles/profileName/databases/com.ibm.uddi/UDDI30';
drop trigger ibmudi30.tr_upd_busallsvc_p;
create trigger ibmudi30.tr_upd_bservice_p
after update of businesskey on ibmudi30.bservice
referencing old as old_real_service
new as new_real_service
for each row mode db2sql update ibmudi30.busallservice
set ibmudi30.busallservice.owningbusinesskey = new_real_service.businesskey
where ibmudi30.busallservice.servicekey = new_real_service.servicekey
and ibmudi30.busallservice.owningbusinesskey != ibmudi30.busallservice.businesskey;
exit;
- UDDI データベースを使用するサーバーを再始動します。