Question

There is a Pentaho Data Integration (Kettle) Job that I'm trying to run on a client's workstation. It yields the following error:

2012/05/21 11:38:21 - Update Case Capital.0 - ERROR (version 4.3.0-GA, build 16753 from 2012-04-18 21.39.30 by buildguy) : Unable to commit Update connection [Voyager] :org.pentaho.di.core.exception.KettleDatabaseException: 
2012/05/21 11:38:21 - Update Case Capital.0 - ERROR (version 4.3.0-GA, build 16753 from 2012-04-18 21.39.30 by buildguy) : Error closing prepared statement
2012/05/21 11:38:21 - Update Case Capital.0 - ERROR (version 4.3.0-GA, build 16753 from 2012-04-18 21.39.30 by buildguy) : This statement is already closed.

The Job runs fine on my computer on a test database, and it ran without any problems at the client as well. Other Kettle Jobs also fail with the same error at the client.

The error happens in an Update step (that runs SQL UPDATE statements) after an arbitrary number of updates had been done. The database used is Firebird 2.5.1.26351 (super classic).

Any advice as to why this happens?

Was it helpful?

Solution

Given the error message Error closing prepared statement and This statement is already closed., I think you are confronted with a bug in Jaybird 2.1.6 and earlier, where closing a statement multiple times will throw an SQLException (while the JDBC api doc specifies that a close() should be ignored if already closed).

That bug is fixed in Jaybird 2.2 (which has not been released yet, but the beta is available at http://www.firebirdsql.org/en/jdbc-driver/ )

I hope you can test if that indeed solves the problem, otherwise I would appreciate a more detailed bug report at http://tracker.firebirdsql.org/browse/JDBC

Full disclosure: I am one of the developers of Jaybird.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top