アウトラインに対して新規DTSメンバーを使用可能にします。
構文
ESS_FUNC_M EssOtlEnableDTSMember ( hOutline, pszDTSMember, usGen, bEnable );
パラメータ | データ型 | 説明 |
---|---|---|
hOutline; |
ESS_HOUTLINE_T |
EssOtlOpenOutline呼出しから戻されるEssbaseアウトライン・ハンドル。 |
pszDTSMember; |
ESS_STR_T |
DTSメンバーの名前 |
usGen; |
ESS_USHORT _T |
DTSメンバーに割り当てる世代 |
bEnable; |
ESS_BOOL_T |
DTSメンバーを使用可能にするフラグ |
備考
この関数は、渡されたESS_DTSMBRNAME_T構造体にも値を入れます。
戻り値
正常終了の場合は0が戻されます。
例
#include "essapi.h" #include "essotl.h" #include "esserror.h" ESS_STS_T ESS_OtlEnableDTSMember(ESS_HCTX_T hCtx, ESS_HINST_T hInst) { ESS_STS_T sts =ESS_STS_NOERR; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_APPNAME_T szAppName; ESS_DBNAME_T szDbName; ESS_OBJNAME_T szFileName; ESS_PROCSTATE_T pState; ESS_ULONG_T ulErrors; ESS_ULONG_T ulCount; ESS_POUTERROR_T pMbrErrors = NULL; strcpy(szAppName, "1Sample"); strcpy(szDbName, "Basic"); strcpy(szFileName, "Basic"); memset(&Object, '\0', sizeof(ESS_OBJDEF_T)); Object.hCtx = hCtx; Object.ObjType = ESS_OBJTYPE_OUTLINE; Object.AppName = szAppName; Object.DbName = szDbName; Object.FileName = szFileName; sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE, ESS_TRUE, &hOutline); if(sts) { printf("Could not open outline\n"); return sts; } sts = EssOtlEnableDTSMember(hOutline, "H-T-D", 1, ESS_TRUE); if(sts) { printf("Could not enable DTS member alias\n"); } sts = EssOtlVerifyOutline(hOutline, &ulErrors, &ulCount, &pMbrErrors); if(sts) { printf("Could not verify outline\n"); return sts; } sts = EssOtlWriteOutline(hOutline, &Object); if(sts) { printf("Could not write outline\n"); return sts; } sts = EssOtlRestructure(hCtx, ESS_DOR_ALLDATA); if(sts) { printf("Could not restructure outline\n"); return sts; } memset (&pState, 0, sizeof(ESS_PROCSTATE_T)); sts = EssGetProcessState(hCtx, &pState); { printf("sts from Proc State is %d and ProcState is %d\n", sts, pState.State); while ((sts == ESS_STS_NOERR) && (pState.State != ESS_STATE_DONE)) { memset (&pState, 0, sizeof(ESS_PROCSTATE_T)); sts = EssGetProcessState(hCtx, &pState); printf("sts from Proc State is %d and ProcState is %d\n", sts, pState.State); } } EssUnlockObject(hCtx, Object.ObjType, Object.AppName, Object.DbName, Object.FileName); EssOtlCloseOutline(hOutline); return sts; }
関連トピック