@CalcMgrMDXDataCopy

목적:

MDX 스크립트를 사용하여 한 데이터베이스의 데이터를 다른 데이터베이스로 복사합니다.

구문:

Java Class: com.hyperion.calcmgr.common.cdf.MDXDataCopy.copyData(String,String,String,String,String,String,String,String,String,String,String,String,String,String)

CDF Spec: @CalcMgrMDXDataCopy(Encryption Key,user,password,sourceApplicationName, sourceDatabaseName,targetApplicationName, targetDatabaseName,columnAxisMDX, rowAxisMDX, sourceMemberMappings,targetMemberMappings, targetPOVCols,maxRowsPerPage,loggingFileName)

@CalcMgrMDXDataCopy를 사용하여 한 데이터베이스의 데이터를 다른 데이터베이스로 복사

@CalcMgrMDXDataCopy는 복사할 영역을 정의하는 MDX 표현식에 따라 달라집니다. 메모리에 그리드를 생성하고, MDX 표현식을 사용하여 소스 데이터베이스에서 그리드를 채운 다음, 타겟 데이터베이스로 데이터를 업데이트합니다. @CalcMgrMDXDataCopycalcmgrCmdLine.jar을 통해 암호화된 사용자 이름 및 비밀번호도 사용합니다.

예를 들어 사용자 이름과 비밀번호를 암호화하려면 java -jar calcmgrCmdLine.jar -gk를 사용하여 키를 생성해야 합니다. 사용자 이름 및 비밀번호를 암호화하는 데 사용할 수 있는 83qosW4LbxVGp6uBwqtQWb와 같은 키가 반환됩니다. 사용자 이름을 암호화하는 경우 비밀번호도 암호화해야 합니다. CalcmgrCmdLine.jar 사용에 대한 자세한 내용은 명령행 실행 프로그램으로 Essbase Business Rules 실행을 참조하십시오.

주:

열과 행 축만 있는 MDX 표현식이 지원됩니다.

구문:

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
     <Key used to encrypt user name and password>
     <Encrypted user name>
     <Encrypted password>
     <Source Application>
     <Source Database>
     <Target Application>
     <Target Database>
     <MDX expression that defines column members>
     <MDX expression that defines row members>
     <Source Member Mappings>
     <Target Member Mappings>
     <Target POV columns>
     <Rows Per Page>
     <Log File>
     <Source Server>
     <Target Server>
     <Where MDX>
     <"true" or "false">
  • <Source Member Mappings><Target Member Mappings>는 소스의 멤버 이름이 타겟과 다른 경우에 사용됩니다. 쉼표로 구분되어야 하며 함수를 사용할 수 없습니다.

  • <Target POV columns>는 소스보다 타겟에 차원이 더 많은 경우 사용됩니다.

  • <ROWS PER PAGE>는 타겟 업데이트를 트리거하는 데 사용됩니다. 기본값은 -1이며, 전체 그리드가 채워지면 업데이트가 수행됩니다. 30으로 설정하는 경우 30개 행이 채워지는 즉시 업데이트가 트리거됩니다. 그런 다음, 다음 30개 행으로 계속 진행합니다.

  • <Source Server><Target Server>는 소스 및 타겟 서버가 서로 다른 경우에 사용됩니다. 서로 다르지 않은 경우 ""를 자리 표시자로 사용해야 합니다.

  • <Where MDX>는 스크립트에 인수를 지정하려는 경우 사용됩니다.

  • <"true" 또는 "false"> 매개변수의 경우 "true"는 로그 파일을 추가하고 "false"는 로그 파일을 지웁니다. 이 매개변수를 비워 두는 경우 기본값은 "True"입니다.

사용자정의 함수가 실행되는 JVM의 메모리를 늘리려면 opmn.xml 파일을 Oracle Essbase에 대해 편집하고 ESS_JVM_OPTION1의 값 등록정보에 있는 숫자를 변경하십시오. 이 항목은 JVM <variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>에 대해 256MB의 메모리를 설정합니다.

예를 들면 다음과 같습니다.

RUNJAVA com.hyperion.calcmgr.common.cdf.MDXDataCopy 
     "vta2a536uC/wyX8jM2GlHA==" /* key */
     "qza9xZxUX+srS1GrlR2Qboeq77InwkNSQSvBHLO2siidSEglMndoIpneZVPK0tWt" /* user */
     "eldizBRIyqdPdXl9Bpu/HIE+YIgvRBa59aTjTDWpWM0T+ZEPjF+zyINfE0KHX0qP" /* password */
     "Sample" /* from application */
     "Basic"  /* from database */
     "Samp2"  /* to application */
     "Basic"  /* to database */
     "crossjoin({[Jan],[Feb],[March]},{[Budget]})" /* MDX that defines the column members */
     "crossjoin(crossjoin({[Sales]},{[100].CHILDREN}),{[Connecticut]})" /* MDX that defines the row members */
     "Jan,Feb" /* source member mappings */
     "January,February" /* target member mappings */
     "VP, IT" /* Target POV columns, members from dimensions that do not exist on the source*/
     "-1" /* rows per page */
     "c:\\Temp\\cpdata3.log"; /* log file could be empty */
     ""source server 
     ""destination server 
     ""where MDX