【问题标题】:Essbase Java API export database MAXLEssbase Java API 导出数据库 MAXL
【发布时间】:2014-11-26 05:14:44
【问题描述】:

我在使用 Java API 运行 MaxL“导出数据库”命令时遇到了问题。我试过使用这样的代码:(参考 Essbase Java API 示例 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。

【问题讨论】:

    标签: java essbase


    【解决方案1】:

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

    Rgds, 麦芽酒

    【讨论】:

    • 我确实尝试使用服务器 report_file 'top.rep' 到 data_file 'c:/topExp.txt' 执行 export database sample.basic 。我仍然得到同样的错误。
    • 将 MaxL 语句保存在文件中,并使用 essmsh 而不是 japi。在 Win 上应该是: startMAXL.bat "c:\yourmaxl.msh"
    【解决方案2】:

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

    【讨论】:

    • 我想使用通用代码来导出数据和元数据(成员),因为导出大纲最快,我分别教了使用导出数据和导出大纲。可悲的是,两者都给出了相同的错误。
    【解决方案3】:

    要导出数据为什么不使用java api方法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.");
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多