提问者:小点点

无法使用 Pentaho 数据集成在 SQLite 数据库中选择 : java.sql.SQLException: ResultSet closed


我正在尝试使用SQLite数据库在Pentaho数据集成中制作一个表格输入步骤。连接似乎没问题...

Connection to database [Volp_2] is OK.
Hostname       : C:\Users\Aluno\Apps\VOLP\BD\volp.db
Port           : -1
Database name  : *****

…但通过Table Input步骤预览前1000行

2014/05/26 11:18:14 - Table input.0 - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : Erro inesperado
2014/05/26 11:18:14 - Table input.0 - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2014/05/26 11:18:14 - Table input.0 - An error occurred executing SQL: 
2014/05/26 11:18:14 - Table input.0 - select nome from palavras
2014/05/26 11:18:14 - Table input.0 - [SQLITE_ERROR] SQL error or missing database (no such table: palavras)
2014/05/26 11:18:14 - Table input.0 - 
2014/05/26 11:18:14 - Table input.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1641)
2014/05/26 11:18:14 - Table input.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:233)
2014/05/26 11:18:14 - Table input.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:143)
2014/05/26 11:18:14 - Table input.0 -   at org.pentaho.di.trans.step.RunThread.run(RunThread.java:60)
2014/05/26 11:18:14 - Table input.0 -   at java.lang.Thread.run(Thread.java:724)
2014/05/26 11:18:14 - Table input.0 - Caused by: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such table: palavras)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.DB.newSQLException(DB.java:383)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.DB.newSQLException(DB.java:387)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.DB.throwex(DB.java:374)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.NativeDB.prepare(Native Method)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.DB.prepare(DB.java:123)
2014/05/26 11:18:14 - Table input.0 -   at org.sqlite.Stmt.executeQuery(Stmt.java:121)
2014/05/26 11:18:14 - Table input.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1630)
2014/05/26 11:18:14 - Table input.0 -   ... 4 more
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : Something went wrong while trying to stop the transformation: org.pentaho.di.core.exception.KettleDatabaseException: 
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - Error cancelling statement
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - ResultSet closed
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - ERROR (version 5.0.1-stable, build 1 from 2013-11-15_16-08-58 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - Error cancelling statement
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - ResultSet closed
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - 
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.core.database.Database.cancelStatement(Database.java:664)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.core.database.Database.cancelQuery(Database.java:646)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.trans.steps.tableinput.TableInput.stopRunning(TableInput.java:303)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.trans.Trans.stopAll(Trans.java:1729)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.trans.step.BaseStep.stopAll(BaseStep.java:2605)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.trans.step.RunThread.run(RunThread.java:95)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at java.lang.Thread.run(Thread.java:724)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App - Caused by: java.sql.SQLException: ResultSet closed
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.sqlite.RS.checkOpen(RS.java:63)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.sqlite.Stmt.cancel(Stmt.java:254)
2014/05/26 11:18:14 - C:\Users\Aluno\Apps\App.ktr : App -   at org.pentaho.di.core.database.Database.cancelStatement(Database.java:659)

我做错了什么?有人能帮我吗?


共3个答案

匿名用户

这已经在 https://gobansaor.wordpress.com/2006/12/18/sqlite-jdbc-and-kettle-pentaho-data-integration-etl/了

以下是删除该文章的步骤:

1. Within SPOON, make a new connection using for example a Table Input step.
2. In the General tab, pick “Generic database” from the list of connection types.
3. Pick “Native(JDBC)” from the Method of Access list.
No further information required on this tab, go to the Generic tab.
4. In the URL field, enter “jdbc:sqlite:c:\mydata\mydatabase.db” where c:\mydata\mydatabase.db is the SQLite database you wish to connect to.
5. In the Driver class field, enter “org.sqlite.JDBC”.

以前,包括JDBC类在内的jar文件必须保存到data-Integration\lib文件夹中。

匿名用户

这个错误看起来像是原因:

select nome from palavras

既然它在抱怨桌子不存在。。。

您确定表拼写正确还是关联了库名?如果您直接连接sqlite3并运行查询,此查询是否有效?

匿名用户

我有同样的问题,对我来说,正确答案来自马里奥.加迪斯(对不起,我没有评论的声誉)

我定义了两个连接,第一个是sqlite类型,第二个是通用数据库。

sqlite类型

    < li >主机名:JDBC:SQLite:/home/Jose/demo . db < li >数据库名称:demo < li >端口:

我已经正确地测试了连接,但是探索功能不显示任何表格

通用数据库类型

    < li >方言:通用数据库 < li >自定义连接URL:JDBC:SQLite:/home/Jose/demo . db < li >自定义驱动程序类名:org.sqlite.JDBC < li >用户名:

测试和探索功能是正确的,我可以浏览数据库中的所有表。

PDI 版本 9.2.0.0-290 (Ubuntu 20.04)
sqlite 驱动程序已经与此版本的 pdi 一起安装(lib 目录)