repos_copy ユーティリティーを使用すると、リポジトリーへの指定された関係定義のロードとそこからのアンロードを行うことができます。
repos_copy ユーティリティーを使用すると、-e オプションを指定してリポジトリー内の指定された関係定義をアンロードできます。「関係リポジトリー・ファイル」は、この repos_copy ユーティリティーがリポジトリーからテキスト (.jar) ファイルへ関係定義ファイルを抽出するときに作成するファイルです。
例: 次の repos_copy コマンドは、StateLk 関係定義を、WebSphereICS という InterChange Server Express のリポジトリーから関係リポジトリー・ファイルにアンロードします。
repos_copy -eRelationship:StateLk -oRL_StateLookup.jar -sWebSphereICS -uadmin -pnull
いくつかの関係定義を 1 つの関係リポジトリー・ファイルにコピーできます。
例: StateLk と CustLkUp の両関係定義をコピーするには、次の 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 にはこれらの検証を抑止または限定する特別なコマンド行オプションが用意されています。これについては、次のセクションで説明します。
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.