无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库

Posted

技术标签:

【中文标题】无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库【英文标题】:Can`t connect to PostgreSQL database in Pentaho Kettle 【发布时间】:2019-11-14 13:58:57 【问题描述】:

我正在尝试连接到我的 PostgreSQL 数据库。我创建一个连接并单击“测试”按钮,我收到一条错误消息。我可以通过 pgadmin 连接到这个数据库而没有任何问题,所以这不是连接或凭据问题

我正在使用 Pentaho 水壶 8.3,Windows,java 版本“1.8.0_231”

Error connecting to database [Name] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database

Error connecting to database: (using class org.postgresql.Driver)
Ошибка при попытке подсоединения.

完整的错误堆栈:https://pastebin.com/cLiB288e

【问题讨论】:

你能翻译来自驱动程序的错误信息吗?这很可能指向原因。 @Cyrus 这不是一条信息量很大的消息:“尝试连接时出错。” 第一行写着“...database [Name]”,这真的是数据库的名称还是您编辑了真实名称? 如果你确实在同一台机器上运行所有东西(即没有端口限制等)并且有兼容的 JDBC 驱动程序,我猜这个问题可能隐藏在你的 Kettle 配置中。可以分享一下吗?或者您也可以尝试在 Java 调试模式下启动 Spoon,并从您最喜欢的 Java IDE 中调试 org.postgresql.core.v3.ConnectionFactoryImpl 周围的问题部分... pgadmin 在哪里?同一主机PID水壶是? PGAdmin 是 Web 服务器,现在可能位于不同的网络中,仅开放 http 访问 【参考方案1】:

尝试在PDI的/lib文件夹下添加postgresql-42.1.1.jar,重启spoon再试一次。

【讨论】:

这表明驱动程序可用“连接数据库时出错:(使用类 org.postgresql.Driver)” 驱动 postgresql-42.2.8.jar 正在使用,我建议更换旧版本的驱动。【参考方案2】:

几个月前我自己在连接到 PostgreSQL 时遇到了 2 个问题,以下 2 件事帮助了我

1.在PDI下'lib'文件夹中添加postgres-42.1.1jar文件并重启spoon。

    如果正常的 JDBC 连接约定不适合您,请尝试以下提示

在配置连接时指定主机名,如下所示 HOST IP:HOST PORT/实例名称?

【讨论】:

以上是关于无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

pentaho水壶无法连接到cloudera cdh4 HDFS

如何动态传递数据库连接属性以连接到 pentaho 中的不同数据库

Pentaho Kettle 无效的 JNDI 连接无法创建与数据库服务器的连接

无法使用 Pentaho PDI CE 连接到 MongoDb

无法通过 Pentaho 连接到 oracle。找不到“oracle.jdbc.driver.OracleDriver”

Pentaho DI 无法连接到 AWS Redshift - Amazon 错误 100021