@CalcMgrMDXDataCopy

Objectif :

Copie les données d'une base de données vers une autre à l'aide de scripts MDX.

Syntaxe :

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)

Copie de données d'une base de données à l'autre à l'aide de @CalcMgrMDXDataCopy

@CalcMgrMDXDataCopy s'appuie sur une expression MDX qui définit la zone à copier. Elle crée une grille en mémoire, utilise l'expression MDX pour remplir la grille à partir de la base de données source, puis met à jour les données vers la base de données cible. @CalcMgrMDXDataCopy utilise un nom d'utilisateur et un mot de passe cryptés à l'aide de calcmgrCmdLine.jar.

Par exemple, pour crypter le nom d'utilisateur et le mot de passe, vous devez générer une clé en utilisant java -jar calcmgrCmdLine.jar -gk. Cela renvoie une clé telle que 83qosW4LbxVGp6uBwqtQWb, qui peut être utilisée pour crypter le nom d'utilisateur et le mot de passe. Si vous cryptez le nom d'utilisateur, vous devez aussi crypter le mot de passe. Pour plus de détails sur l'utilisation de CalcmgrCmdLine.jar, reportez-vous à la section Lancement des règles métier Essbase avec le lanceur de ligne de commande.

Remarque :

Une expression MDX comportant uniquement l'axe de ligne et de colonne est prise en charge.

Syntaxe :

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> et <Target Member Mappings> sont utilisés lorsque les noms de membre dans la source sont différents de ceux dans la cible. Ils doivent être séparés par une virgule. Aucune fonction n'est autorisée.

  • <Target POV columns> est utilisé lorsqu'il existe plus de dimensions dans la cible que dans la source.

  • <ROWS PER PAGE> est utilisé pour déclencher une mise à jour vers la cible. La valeur par défaut est -1, ce qui signifie que la mise à jour a lieu quand la grille complète est remplie. Si vous utilisez la valeur 30, alors la mise à jour est déclenchée lorsque 30 lignes sont remplies. Le processus continue avec les 30 prochaines lignes.

  • <Source Server> et <Target Server> sont utilisés lorsque les serveurs source et de destination sont différents. S'ils ne sont pas différents, vous devez utiliser "" comme espace réservé.

  • <Where MDX> est utilisé lorsque vous voulez indiquer un argument pour le script.

  • Pour le paramètre <"true" ou "false">, la valeur "true" ajoute le fichier journal et la valeur "false" efface le fichier journal. "True" est la valeur par défaut si ce paramètre n'est pas renseigné.

Pour augmenter la mémoire de JVM lorsque la fonction personnalisée est exécutée, modifiez le fichier opmn.xml pour Oracle Essbase et changez le nombre dans la propriété de valeur pour ESS_JVM_OPTION1. Cette entrée définit 256 Mo de mémoire pour JVM <variable id="ESS_JVM_OPTION1" value="-Xmx256M"/>

Par exemple :

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