2012-05-21 73 views
1

有一個Pentaho數據集成(Kettle)作業,我試圖在客戶端的工作站上運行。它產生以下錯誤:Pentaho Kettle錯誤:「錯誤關閉準備好的語句」

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. 

作業運行我的測試數據庫的計算機上的精細,並沒有運行在客戶端的任何問題,以及。其他Kettle Jobs也會在客戶端發生同樣的錯誤。

執行任意數量的更新後,更新步驟(運行SQL UPDATE語句)中會發生錯誤。使用的數據庫是Firebird 2.5.1.26351(超經典)。

有關爲什麼發生這種情況的任何建議?

回答

1

鑑於錯誤消息關閉準備好的語句時出錯此聲明已關閉。,我認爲你在Jaybird 2.1.6和更早的版本中遇到了一個bug,多次關閉語句會拋出一個SQLException(而JDBC API文檔指定如果已經關閉,close()應該被忽略)。

這個bug固定在Jaybird 2.2(已尚未發佈,但是測試版可以在http://www.firebirdsql.org/en/jdbc-driver/

我希望你可以測試是否確實解決了這個問題,否則我將不勝感激更詳細臭蟲報告http://tracker.firebirdsql.org/browse/JDBC

完全披露:我是Jaybird的開發者之一。

+1

看來你是對的! 我下載了Jaybird 2.2,將jaybird-full-2.2.0.jar複製到Kettle的JDBC文件夾中,更改了jaybird-full-2.1.0.jar文件的擴展名(以便Kettle只能找到新的jar),並且瞧!問題解決了! 感謝您的幫助! – bgh

+0

@bgh很高興聽到,並感謝您的反饋! –