2つのデータベースにある複数のグローバルやルーチンを比較する方法
これは InterSystems FAQ サイトの記事です。
※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。
グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
DataCheckの概要【IRIS】
DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。
***
ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。
以下は、管理ポータルでの使用方法になります。
例えば、以下ルーチンがUSERネームスペースにあるとします。
quit "hello"
}
以下ルーチンがUSER2ネームスペースにあるとします。
quit "こんにちは"
}
以下は、USERネームスペースに接続したターミナルで %RCOM を実行した結果になります。
※ Compare: にルーチン名を記述し、 with: に比較したいルーチン名を記載します。
別ネームスペースにあるルーチンを指定する場合は |"ネームスペース名"|ルーチン名.MAC で指定します。
Compare: comptest.mac with: |"USER2"|comptest.mac
Compare: //【メモ】比較対象がない場合はEnterを押下
Ignore Comment Differences? No => No
Ignore Leading White Space? No => No
Display Results on
Device: c:\temp\comp.txt //【メモ】ファイル名を指定するとファイル出力します
Parameters? ("WNS") =>
comptest.MAC |"USER2"|comptest.MAC
*******************************************************************************
USER>
比較結果は以下の通りです。
From directory: c:\intersystems\iris\mgr\user\
comptest.MAC |"USER2"|comptest.MAC
*******************************************************************************
comptest.MAC
+2 quit "hello"
...................
|"USER2"|comptest.MAC
+2 quit "こんにちは"
******************************************************************************