リモート・サーバー上の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); }
関連トピック