내 봄 프로젝트 내에서 Birt ReportEngine을 사용하려고합니다. Eclipse 내에서 작동하는 report.rptdesign을 성공적으로 생성했습니다. 이제이 응용 프로그램 내에서 'report.rptdesign'을 사용하여 출력 (PDF/HTML, 중요하지 않음)을 생성하려고합니다. ODA 프로필 저장소 경로 Birt 연결 프로필
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.birt.runtime</artifactId>
<version>4.2.2</version>
</dependency>
을 내 pom.xml에 추가했습니다. 더구나 두 경로를 모두 추가 (수동으로 생성)했습니다.
-Dorg.eclipse.datatools_workspacepath=C:\apache-tomcat-7.0.30\temp\workspace_dtp
-Dorg.eclipse.datatools.connectivity_workspacepath=C:\apache-tomcat-7.0.30\temp\workspace_dtp\org.eclipse.datatools.connectivity
계속 오류가 여러 번 발생합니다. 내가 사용하는 코드 :
org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log
SEVERE: Error loading connection profile data.
org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log
SEVERE: Error saving connection profile data.
내 report.rptdesign 올바르게 report.rptdesign
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc.dbprofile" name="DB MySql" id="18">
....
<property name="OdaConnProfileStorePath">C:\workspace-sts\myproject\test\db</property>
</oda-data-source>
</data-sources>
업데이트에서 참조 내 데이터베이스에 연결하기 위해 'DB'파일을 사용합니다 :
DesignConfig config = new DesignConfig();
Platform.startup(config);
IDesignEngineFactory factory = (IDesignEngineFactory) Platform.createFactoryObject(IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY);
IDesignEngine designEngine = factory.createDesignEngine(config);
SessionHandle session = designEngine.newSessionHandle(ULocale.ENGLISH);
ReportDesignHandle designHandle = session.openDesign("myReport.rtpdesign");
ElementFactory designFactory = designHandle.getElementFactory();
designHandle.close();
EngineConfig engineConfig = new EngineConfig();
Platform.startup(engineConfig);
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
IReportEngine reportEngine = factory.createReportEngine(engineConfig);
IReportRunnable design = reportEngine.openReportDesign(designHandle);
IRunAndRenderTask task = reportEngine.createRunAndRenderTask(design);
'db'파일을 다른 곳에 두어야합니까? 나는 연결 프로필 저장소가 상대 경로로 설치 된 경우, BIRT 엔진 설정에 resourcePath를 제공해야
감사합니다, 마누엘
질문에 '봄'태그를 사용하지 않는 이유가 있습니까? Eclipse의 내부에서 디자인이 작동한다고 가정하면 스프링 프레임 워크와 관련이있는 것 같습니다. –
스프링 태그를 추가했습니다. (그러나 이것이 스프링과 관련이 없다고 생각합니다.) – Manuel
birt 4.2에서 연결 프로필 저장소의 상대 경로를 설정할 수 있습니다.이 옵션을 고려 했습니까? 자신의 자바 코드에서 birt 엔진을 시작합니까? – Dominique