목적:
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는 복사할 영역을 정의하는 MDX 표현식에 따라 달라집니다. 메모리에 그리드를 생성하고, MDX 표현식을 사용하여 소스 데이터베이스에서 그리드를 채운 다음, 타겟 데이터베이스로 데이터를 업데이트합니다. @CalcMgrMDXDataCopy는 calcmgrCmdLine.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