@CalcMgrMDXDataCopy

用途:

使用 MDX 脚本将数据从一个数据库复制到另一个数据库。

语法:

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

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

使用 @CalcMgrMDXDataCopy 将数据从一个数据库复制到另一个数据库

@CalcMgrMDXDataCopy 依赖于定义要复制区域的 MDX 表达式。该函数将在内存中创建一个网格,使用 MDX 表达式基于源数据库填充网格,然后将数据更新到目标数据库。@CalcMgrMDXDataCopy 使用通过 calcmgrCmdLine.jar 加密的用户名和密码。

例如,要对用户名和密码进行加密,必须使用 java -jar calcmgrCmdLine.jar -gk 生成密钥。这将返回密钥 83qosW4LbxVGp6uBwqtQWb,可将其用于对用户名和密码进行加密。如果对用户名加密,则也必须对密码加密。有关使用 CalcmgrCmdLine.jar 的更多详细信息,请参阅“使用命令行启动程序启动 Essbase 业务规则”。

注:

支持仅包含列和行轴的 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" or "false"> 参数,如果为 "true" 则附加日志文件,如果为 "false" 则清除日志文件。如果此参数留空,则使用默认值 "True"。

要增加用于运行自定义函数的 JVM 内存,请编辑 Oracle Essbaseopmn.xml 文件,并更改 ESS_JVM_OPTION1 值属性中的数字。以下条目可为 JVM 设置 256 MB 内存:<variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>

例如:

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