Essbase Java API export database MAXL

1.5k Views Asked by At

I've been having trouble running the MaxL "export database" command with the Java API. I've tried using code like this:( Referred to Essbase Java API Sample com.essbase.test.ExecuteMaxl.java)

IEssMaxlSession test = olapSvr.openMaxlSession("test"); test.execute("export database sample.basic using report_file 'top.rep' to data_file 'c:/topExp.txt'"); It fails with the following exception:

Cannot execute maxl statement. Essbase Error(1290101): This MaxL statement requires client support. This is not supported yet.

I am running Essbase 11.1.2.1 and the same version of the Java API.

3

There are 3 best solutions below

1
On

Running MaxL commands through the Java API in my experience does not work, giving the error indicated (aka, it potentially relies on some native code like in the C API, but as it says, it's not supported). Why not use the report running command in the Java API?

2
On

You did not tell to Essbase where to find the report file. If the "top.rep" is on the server then you must explicitly refer to it in the Maxl statement. So, it will be: "...using server report_file". Otherwise, if the file is hosted on the client, you must specify the path as you did for the output data file (eg. "c:/top.rep")

Rgds, AleMon

0
On

To export data why not use the java api method exportData

    private static void exportData(IEssCube cube) throws EssException {
    System.out.println("Exporting data BSO");

    // As the path is relative, file will be exported to "ARBORPATH/app/Demo/Basic" on Essbase server.
    cube.exportData("Demo/Basic/exportedData.txt",IEssCube.EEssDataLevel.ALL, true);


    // As the path is absolute, file will be exported to "C:/temp/exportedData.txt" on Essbase server.
   //cube.exportData("C:/temp/exportedData.txt",IEssCube.EEssDataLevel.ALL, true);

    System.out.println("Exporting data Complete.");

}