Objetivo:
Copia dados de um banco de dados para outro usando scripts MDX.
Sintaxe:
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
baseia-se em uma expressão MDX que define a área a ser copiada. Ela cria uma grade na memória, usa a expressão MDX para preencher a grade do banco de dados de origem e, em seguida, atualiza os dados para o banco de dados de destino. @CalcMgrMDXDataCopy
usa um nome de usuário e uma senha criptografados usando calcmgrCmdLine.jar
.
Por exemplo, para criptografar um nome de usuário e uma senha, gere uma chave usando java -jar calcmgrCmdLine.jar -gk
. Isso retornará uma chave como: 83qosW4LbxVGp6uBwqtQWb
, que pode ser usada para criptografa o nome de usuário e a senha. Se criptografar o nome do usuário, você também deverá criptografar a senha. Para obter mais detalhes sobre o uso de CalcmgrCmdLine.jar
, consulte Inicialização de Regras de Negócios do Essbase com o Iniciador de Linha de Comandos.
Nota:
É suportada uma expressão MDX com apenas o eixo de coluna e linha.
Sintaxe:
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">
<Mapeamentos de Membros de Origem>
e <Mapeamentos de Membros de Destino>
são usados quando os nomes de membro na origem diferem do destino. Eles devem ser separados por vírgulas. Não são permitidas funções.
<Colunas de PDV de destino>
é usado quando há mais dimensões no destino do que na origem.
<LINHAS POR PÁGINA>
é usado para disparar uma atualização para o destino. O padrão é -1, em que a atualização acontece quando a grade completa é preenchida. Se você defini-la como 30, assim que 30 linhas forem preenchidas, uma atualização será disparada. Depois, ela continuará nas próximas 30 linhas.
<Servidor de Origem>
e <Servidor de Destino>
são usados quando o servidor de origem e de destino forem diferentes. Se eles não forem diferentes, use "" como espaço reservado.
<MDX Where>
é usado quando você deseja especificar um argumento para o script.
<"true" ou "false">
, "true" acrescentará arquivo de log, e "false" removerá o arquivo de log. "True" será o padrão se esse parâmetro for deixado em branco.Para aumentar a memória do JVM em que a função definida pelo usuário é executada, edite o arquivo opmn.xml
para o Oracle Essbase e altere o número na propriedade de valor de ESS_JVM_OPTION1
. Essa entrada define 256 MB de memória para o JVM <variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>
Por exemplo:
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