Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Open cursors in database by report's querys
MOnita
<p>My dba point to me that the performance of my system was decreasing because some "open cursors" which I interpret as open connections. After check on the querys I get to know that those open connections where not from my java EE aplication entities or something but from the BIRT report's querys...I guess users are clicking on the "generate report" and losing the application but not logging out or something, is there a way to making BIRT know about this and close the connection? Am I misunderstanding something in integrating BIRT reporting with my JAVA EE application?</p>
<p> </p>
<p>Thank you in advance. </p>
Find more posts tagged with
Comments
Clement Wong
<p>Connections are typically closed based on the default timeout value, but we will need more information to assist you.</p>
<p> </p>
<p>1. What version of BIRT are you using?</p>
<p>2. What application server and version did you use to deploy BIRT?</p>
<p>3. What database and version does your BIRT reports connect to?</p>
<p>4. What JDBC driver is defined in your report? What version is the JDBC driver?</p>
MOnita
<blockquote class="ipsBlockquote" data-author="Clement Wong" data-cid="141898" data-time="1453750867">
<div>
<p>I'm sorry you're right, I mus provide more info.</p>
<p> </p>
<p>1. What version of BIRT are you using? Eclipse BIRT Designer Version 4.2.1.v201209101448 Build <4.2.1.v20120918-1113></p>
<p>2. What application server and version did you use to deploy BIRT? glassfish 4.1</p>
<p>3. What database and version does your BIRT reports connect to? oracle 11g</p>
<p>4. What JDBC driver is defined in your report? What version is the JDBC driver? oracle.jdbc.driver.OracleDriver v10.2 ---> ojdbc14.jar</p>
</div>
</blockquote>
<p>I've also set on this report the timeout for each dataset use but it doesn't seem to change anything.</p>
<p> They said these log entries could be also because of this : </p>
<p> </p>
<p> </p>
<div>
<pre class="_prettyXprint">
!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-01-22 13:01:14.973
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon
!SESSION 2016-01-26 10:19:25.725
eclipse.buildId=unknown
java.version=1.8.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_MX
Framework arguments: \\[report path].rptdesign
Command-line arguments: -os win32 -ws win32 -arch x86 \\[report path].rptdesign</pre>
<p>and: </p>
<p> </p>
<div>
<pre class="_prettyXprint">
org.eclipse.birt.report.service.api.ReportServiceException: Failed to open the report document.
at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1114)
at org.eclipse.birt.report.service.ReportEngineService.openReportDocument(ReportEngineService.java:511)
at org.eclipse.birt.report.service.BirtViewerReportService.openReportDocument(BirtViewerReportService.java:269)
at org.eclipse.birt.report.service.BirtViewerReportService.getResultSetsMetadata(BirtViewerReportService.java:543)
at org.eclipse.birt.report.service.actionhandler.AbstractQueryExportActionHandler.__execute(AbstractQueryExportActionHandler.java:97)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleQueryExport(BirtDocumentProcessor.java:155)
at sun.reflect.GeneratedMethodAccessor2808.invoke(Unknown Source)</pre>
<p>I'm not sure if one does affect the other...</p>
<p>Thank you in advance.</p>
</div>
</div>
jar
<p>I am no DBA but if you mean with "open cursor" that a transaction on the DB is opened and not closed ... read on :-)</p>
<p> </p>
<p>We had an issue with postgresql opening a transaction when executing a select query from BIRT and it stayed open.</p>
<p> </p>
<p>This sometimes resulted in blocked proces as a new report was waiting for the former transaction to close. In the connectionSettings for our PSQL database in the BIRT report we set the AutoCommit option to true and no open transactions anymore (and blocking processes ...).</p>
<p> </p>
<p>I have no experience with Oracle but might be related.</p>
<p> </p>
<p>Jeroen</p>
Clement Wong
<p>Jeroen makes a good point.</p>
<p> </p>
<p>For each of your reports (or if you are using a library), in your Data Source > Properties > Advanced (see screenshot), change the Auto Commit from Auto to True.</p>
<p> </p>
<p>See attached screenshot for default value:</p>
<p>
MOnita
<p>Thank you to both of you!, I'm going to try this and let you know how it goes.</p>