関係のロードとアンロード

repos_copy ユーティリティーを使用すると、リポジトリーへの指定された関係定義のロードとそこからのアンロードを行うことができます。

注:
また、repos_copy を使用して、リポジトリーとのマップ定義のロードおよびアンロードを行うこともできます。詳細については、"InterChange Server Express からのマップのインポートとエクスポート"を参照してください。

関係定義のアンロード

repos_copy ユーティリティーを使用すると、-e オプションを指定してリポジトリー内の指定された関係定義をアンロードできます。「関係リポジトリー・ファイル」は、この repos_copy ユーティリティーがリポジトリーからテキスト (.jar) ファイルへ関係定義ファイルを抽出するときに作成するファイルです。

例: 次の repos_copy コマンドは、StateLk 関係定義を、WebSphereICS という InterChange Server Express のリポジトリーから関係リポジトリー・ファイルにアンロードします。

repos_copy -eRelationship:StateLk -oRL_StateLookup.jar 
 -sWebSphereICS -uadmin -pnull
 

重要:
関係はファースト・クラス・エンティティーではありません。したがって、そのネーム・スペースはファースト・クラス・エンティティーで分離されます。ファースト・クラス・エンティティーは同じ名前にできませんが、関係はファースト・クラス・エンティティー (例えば、ビジネス・オブジェクトやコラボレーション) と同じ名前にできます。しかし、関係定義の名前が既存のいずれかの ファースト・クラス・エンティティーと一致する場合は、repos_copy-e オプションを使用して、その関係定義をアンロードまたはロードすることはできません。関係定義を含む、リポジトリー全体をロードおよびアンロードすることはできます。

いくつかの関係定義を 1 つの関係リポジトリー・ファイルにコピーできます。

例: StateLkCustLkUp の両関係定義をコピーするには、次の repos_copy コマンドを使用します。

repos_copy -eRelationship:StateLk+Relationship:CustLkUp
 -oRL_Lookup_Relationships.jar -sWebSphereICS -uadmin -
 pnull
 

関係定義のロード

repos_copy を使用して、関係リポジトリー・ファイルから関係定義をリポジトリーにロードすることもできます。

例: 次の repos_copy コマンドは、StateLk 関係定義を WebSphereICS という InterChange Server Express のリポジトリーにロードします。

repos_copy -iRL_StateLookup.jar 
 -sWebSphereICS -uadmin -pnull
 

repos_copy ユーティリティーは、関係定義をロードするときに、次の検証を行います。

repos_copy でこれらの検証を両方とも実行できない場合は、関係定義をロードできません。ただし、repos_copy にはこれらの検証を抑止または限定する特別なコマンド行オプションが用意されています。これについては、次のセクションで説明します。

データベース URL の検証

repos_copy ユーティリティーには、関係定義をリポジトリーにロードしやすくする -r オプションが用意されています。-r オプションにより repos_copy に、実行時スキーマを作成しないで、関係定義をリポジトリーに追加することが指示されます。repos_copy でリポジトリー全体をバックアップする場合 (-o オプションを使用)、作成されたリポジトリー・テキスト・ファイル内の情報の一部に関係定義が記述されます。その後 repos_copy を使用して (-r オプションを使用しない) このリポジトリー・テキスト・ファイルの内容を持つ別のリポジトリーをロードすると、repos_copy は関係定義をロードしようとしたときに、次の形式のエラーを生成することがあります。

Server error: An error occurred during the validation 
 of the runtime database connection information for 
 relationship definition Customer. The database URL 
 used is: jdbc:weblogic:mssqlserver4:Cwrelns312@CWDEV:1433. 
 The database login name used is: crossworlds. 
 The database type used is: W55s/wPE/l4=1. 
 Reason: SqlServer.
 

このエラーの原因は、repos_copy がリレーションシップ・データベースに関する URL を検証しようとしたことです。関係定義の一部は、リレーションシップ・データベースのデータベース URL です。

repos_copy でリレーションシップ・データベースを検出できない場合は、エラーが生成されて、リポジトリーのロードがロールバックされます。InterChange Server Express をバックアップして同じサーバー (同じリレーションシップ・データベース) に復元するだけの場合、-r オプションを指定する必要はありません。リレーションシップ・データベース URL を見つけることができるので、リレーションシップ・データベース URL の検証は成功します。したがって、リポジトリーのロード (関係定義を含む) は成功します。

しかし、マイグレーションのインポート・プロセスで、あるマシンから別のマシンにリポジトリー・データを移動する場合には、-r オプションは役に立ちます。リポジトリー・データの既存のリレーションシップ・データベースを検出できない環境で repos_copy コマンドを実行すると、repos_copy によりエラーが生成されます。この検証を抑止するには、リポジトリーをロードするときに、repos_copy-r オプションを指定します。この検証を抑止すると、repos_copy はリポジトリーに関係定義を正常に追加できます。このメソッドはリレーションシップ・データベースのロケーションとして現行のリポジトリー・データベースを使用します。その後、Relationship Designer Express を使用して、各リレーションシップ・データベースの該当するロケーションをポイントするようにデータベース URL を変更します。

例: 次の repos_copy コマンドは、StateLk 関係定義をリポジトリーにロードし、データベース URL の検証を抑止します。

repos_copy -rStateLk -iRL_StateLookup.txt -sWebSphereICS -uadmin 
 -pnull
 

従属オブジェクトの検証

デフォルトでは、repos_copy により関係定義をロードするときに、すべての従属オブジェクトが存在するかどうか検証されます。例えば、関係に関連するすべてのビジネス・オブジェクトがリポジトリーに存在することを検査します。すべての従属オブジェクトが存在しない 場合は、repos_copy によりエラーが生成されて、リポジトリーのロードがロールバックされます。repos_copy コマンド・ウィンドウに、次のメッセージが表示されます。

Some of the participants for relationships were missing. 
 For more info, refer to InterChange Server Express log file.
  
 

Copyright IBM Corp. 2004