Pentaho - Reporting Tool - Содержит ли файл .prpt (файл шаблона отчета) информацию об источниках данных? - PullRequest
1 голос
/ 20 мая 2010

Я новый Pentaho Reporting Tool. У меня следующий вопрос:

Когда я создавал отчет с помощью Pentaho Report Designer, он выводил файл отчета с расширением .prpt. После этого я нашел в интернете пример, где для отображения отчета в формате html использовался следующий код: |

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
     ResourceManager manager = new ResourceManager();  
     manager.registerDefaults();  
     String reportPath = "file:" +  
     this.getServletContext().getRealPath("sampleReport.prpt");  

     try {  
         Resource res = manager.createDirectly(new URL(reportPath), MasterReport.class);  
         MasterReport report = (MasterReport) res.getResource();  
         HtmlReportUtil.createStreamHTML(report, response.getOutputStream());  
     } catch (Exception e) {  
         e.printStackTrace();  
     }  
 }  

И отчет был успешно напечатан. Так как мы не указали здесь никакой информации об источнике данных, я думаю, что файл .prpt содержит эту информацию.

Если это правда, чем «Разве не Джаспер» - лучший инструмент для составления отчетов, чем «Пентахо», потому что когда мы отображаем отчеты Jasper, мы должны также предоставлять сведения об источнике данных, чтобы наш отчет был гибким и не привязывался к какой-либо конкретной базе данных. *

Ответы [ 2 ]

2 голосов
/ 21 мая 2010

Неа. Источник данных может быть сохранен в prpt, но также может быть передан в отчет. И обычный способ - просто использовать JNDI, чтобы вы могли развернуть один и тот же отчет в нескольких средах тестирования / разработки / производства.

Вы, вероятно, получите лучшие ответы на форуме быстрее. forums.pentaho.org

1 голос
/ 30 ноября 2010

Файл PRPT обычно содержит всю информацию, необходимую для запуска отчета. Вы можете предоставить свои собственные источники данных, изменив объект MasterReport, который вы возвращаете из ResourceManager.

Однако мне еще предстоит увидеть действительные случаи использования, где такая операция действительно имеет смысл. Чтобы предоставить информацию о соединении для источников данных SQL во время выполнения, вы обычно используете подсистему JNDI вашего веб-приложения или сервер J2EE.

99,99% всех отчетов, выполняемых на BI-сервере Pentaho, НЕ требуют ручной замены источников данных для запуска. А оставшиеся 0,01% - это устаревшие отчеты из старых версий механизма отчетов.

...