База данных экспорта Essbase Java API MAXL

У меня возникли проблемы с запуском команды MaxL «экспортировать базу данных» с помощью Java API. Я пробовал использовать такой код: (см. пример 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.


person Chandan C    schedule 26.11.2014    source источник


Ответы (3)


Вы не сообщили Essbase, где найти файл отчета. Если "top.rep" находится на сервере, вы должны явно указать на него в операторе Maxl. Итак, это будет: "...используя сервер файл_отчета". В противном случае, если файл размещен на клиенте, необходимо указать путь, как вы указали для выходного файла данных (например, "c:/top.rep").

С уважением, АлеМон

person alemon    schedule 28.11.2014
comment
Я пытался выполнить как ‹code›экспорт базы данных sample.basic, используя server report_file ‘top.rep’ в файл данных ‘c:/topExp.txt’‹/code›. Тем не менее я получаю ту же ошибку. - person Chandan C; 01.12.2014
comment
Сохраните оператор MaxL в файле и используйте essmsh вместо japi. На Win должно быть: startMAXL.bat c:\yourmaxl.msh - person alemon; 14.12.2014

Запуск команд MaxL через Java API, по моему опыту, не работает, что приводит к указанной ошибке (иначе говоря, он потенциально зависит от некоторого собственного кода, такого как C API, но, как говорится, он не поддерживается). Почему бы не использовать команду запуска отчета в Java API?

person jwj    schedule 28.11.2014
comment
Я хотел использовать общий код для экспорта данных и метаданных (членов), поскольку структура экспорта является самой быстрой, я научился использовать экспорт данных и схему экспорта соответственно. К сожалению, оба дают одну и ту же ошибку. - person Chandan C; 01.12.2014

Для экспорта данных, почему бы не использовать метод 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.");

}
person Amjad Syed    schedule 03.12.2016