Szenario: Ich möchte aus Java heraus einen IRunAndRenderTask für BIRT anstoßen. Der zu erstellende Report soll die Datenbankverbindung per Property übergeben bekommen.

Lösungsansätze:
1. Benutzen eines erweiterten ODA-Treibers (mit Connection Pooling: http://birtworld.blogspot.com/2007/01/birt-connection-pooling-continued.html)
2. Zugriff auf die Datenbank-Verbindung über JNDI
3. Benutzung von IConnectionFactory.PASS_IN_CONNECTION.

Letztere Methode erlaubt das injizieren einer vorhandenen Datenbankverbindung in den Report. Allerdings ist in dem ODA-Treiber bis 2008-11-17 (also vorletzte Woche) noch ein Bug vorhanden, der die Datenbankverbindung mit erfolgreichem Erstellen des Reports wieder schließt. Der Bug wurde aber gefixt, so dass sich mit dem Identifier IConnectionFactory.CLOSE_PASS_IN_CONNECTION das Schließen der Verbindung deaktivieren lässt.

Was für ein Frickel-Krams – noch kurz ein paar Stichworte: JDBC, DataSource, dynamic, BIRT, inject, user property, connection, pooling

I am asking you for a donation.

You liked the content or this article has helped and reduced the amount of time you have struggled with this issue? Please donate a few bucks so I can keep going with solving challenges.

Categories: EclipseJava

0 Comments

Leave a Reply