【问题标题】:Kettle / Pentaho Data Integration - unable to create a Database Connection (XulException: java.lang.reflect.InvocationTargetException)Kettle / Pentaho 数据集成 - 无法创建数据库连接 (XulException: java.lang.reflect.InvocationTargetException)
【发布时间】:2018-07-03 08:12:11
【问题描述】:

终于让水壶启动并且没有挂起,我仍然无法使用它,因为当我尝试创建一个新的数据库连接时(在创建一个新的转换之后)我收到了这个错误:

org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException

此后,对于相同的操作,我得到了这个更普遍的错误:

General error in dialog

为了再次获得第一个“java...TargetException”,我必须关闭并重新启动水壶。
请注意,当我加载现有的kettle 作业并尝试编辑其数据库连接时,也会发生这种情况。

这可能是配置问题吗?丢失或放错位置的文件?调用失败的目标是什么? 提前感谢您的帮助。

我的配置:

macos 10.12.6 (Sierra)
Pentaho 数据集成(或水壶)7.1.0
java版本“9.0.4”

【问题讨论】:

    标签: java pentaho kettle


    【解决方案1】:

    正如Pentaho Components Reference 中提到的,Pentaho Data Integration 仅支持 Java 8,因此目前不建议尝试 Java 9 或 Java 11(直到他们发布支持 Java 8 以上的版本)。

    【讨论】:

      【解决方案2】:

      我从 Pentaho 数据集成论坛发现,这与我的 Java 版本有关。
      我卸载了 Java 9 并安装了 Java 8,然后不再出现此错误。

      【讨论】:

        【解决方案3】:

        您的主目录中有一个.kettle 目录。在此目录中,您可能有一个db-cache-<some.numbers> 文件。如果是这种情况:停止spoon,删除db-cache 文件,然后重新启动spoon。

        如果它不起作用,则该目录中的其他文件可能已损坏。

        【讨论】:

        • 谢谢,@AlainD。实际上,从 Java 9 切换到 Java 8 就成功了。之后我不再收到此错误。请注意,当我第一次阅读您的答案时,我的.kettle 文件夹中没有db-cache-<some.numbers> 文件。我只有 3 个简单的文件。现在我可以使用水壶并使用了一点,那里有 7 个文件,包括db.cache-7.1.0.0-12。还是谢谢。对于像我这样了解此环境的新用户,对于未来的问题,您的回答仍然值得注意。
        • 这个 db 缓存是为了加快 Kettle 搜索数据库表,列名,列类型,... 当数据库模式发生变化时,这个缓存需要重新同步。您可以从顶部菜单Tools/Database/Clear cache 执行此操作。您可以删除它们。
        猜你喜欢
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 2012-07-22
        • 2016-03-24
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多