Essbase Java API export database MAXL



我一直在使用Java API运行MaxL"导出数据库"命令时遇到问题。我尝试使用这样的代码:(参考 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'"); 它失败,出现以下异常:

无法执行 maxl 语句。Essbase 错误 (1290101): 此 MaxL 语句需要客户端支持。尚不支持此功能。

我正在运行Essbase 11.1.2.1和相同版本的Java API。

您没有告诉 Essbase 在哪里可以找到报告文件。如果"top.rep"在服务器上,则必须在Maxl语句中显式引用它。所以,它将是:"...使用服务器report_file"。否则,如果文件托管在客户端上,则必须像为输出数据文件所做的那样指定路径(例如。"c:/top.rep")

Rgds,阿勒蒙

根据

我的经验,通过 Java API 运行 MaxL 命令不起作用,给出指示的错误(也就是说,它可能依赖于一些本机代码,如 C API 中的代码,但正如它所说,它不受支持)。为什么不在 Java API 中使用报表运行命令?

要导出数据,为什么不使用 java api 方法导出数据

    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.");
}

最新更新