アウトラインに対して新規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;
}
関連トピック