リモート・サーバー上のpRemoteDDBFilenameにあるパーティション定義に対して、これに対応する(ESS_PPARTSLCT_VALIDATE_Tで指定した)ローカル・パーティション定義を確認します。
構文
ESS_FUNC_M EssPartitionValidateDefinition (
hCtx, pSelectVerify,
pulInvalidComponent, ppInvalidComponent, pRemoteDDBFileName
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
pSelectVerify |
ESS_PARTSLCT_VALIDATE_T |
確認するパーティションに関する説明。 |
pulInvalidComponent |
ESS_PULONG_T |
検証の実行結果におけるエラーおよび警告の数。 |
ppInvalidComponent |
ESS_PARTDEF_INVALID_T |
検証の実行結果におけるエラーおよび警告のリスト。 |
pRemoteDDBFileName |
ESS_STR_T |
リモート・サーバーのパーティション定義ファイル名。 |
備考
pulInvalidComponentが0でないとき、無効なコンポーネントを解放するには、関数EssFreeを呼び出します。
リモート・パーティション定義ファイルは、ローカルまたはリモート・ホスト上に保存できます。パーティション定義ファイルがローカルの場合、pRemoteDDBFileNameには拡張子付きのファイル名を含むフル・パスを指定する必要があります。パーティション定義ファイルがリモートの場合は、pRemoteDDBFileNameには拡張子を除くファイル名を指定する必要があります(拡張子は.DDBであると想定)。
システム上にあるパーティション定義ファイルをサーバーによって検索する場合は、次の規則に従います:
pSelectVerify->pszFileName = DbNameの場合のサーバーの検索対象は、DbName.DDNになります。
pSelectVerify->pszFileName != DbNameの場合のサーバーの検索対象は、pSelectVerify->pszFileName.DDBになります。
戻り値
正常終了の場合は0が戻され、失敗した場合はエラー・コードが戻されます。
アクセス
この関数を呼び出すには、データベース・デザイナのアクセス権限が必要です。
例
ESS_STS_T ESS_PartitionValidateDefinition(ESS_HCTX_T hCtx, ESS_HINST_T hInst)
{
ESS_STS_T sts = 0;
ESS_PARTSLCT_VALIDATE_T SelectVerify;
ESS_PARTDEF_INVALID_T *pInvalidComponent;
ESS_ULONG_T ulInvalidComponentCount = 0;
ESS_STR_T pRemoteDDBFileName = "src";
/* assume, logged into target database */
memset(&SelectVerify, 0, sizeof(ESS_PARTSLCT_VALIDATE_T));
SelectVerify.usLoc = ESS_FILE_SERVER;
SelectVerify.pszFileName = "trg";
SelectVerify.Part.usType = ESS_PARTITION_OP_REPLICATED;
SelectVerify.Part.usDirection = ESS_PARTITION_DATA_TARGET;
SelectVerify.Part.HostDatabase.pszHostName = "Local"
SelectVerify.Part.HostDatabase.pszAppName = "PartSrc";
SelectVerify.Part.HostDatabase.pszDbName = "Src";
sts = EssPartitionValidateDefinition (hCtx, &SelectVerify,
&ulInvalidComponentCount, &pInvalidComponent, pRemoteDDBFileName);
if (ulInvalidComponentCount > 0)
printf("Validation resulted in warnings and errors.\n");
else
printf ("Partition is valid.\n");
if (pInvalidComponent)
EssFree(hInst, pInvalidComponent);
return(sts);
}
関連トピック