在 JasperSoft 7.1.1 设备中创建新的 PostgreSQL 数据源时出现问题

Problem creating new PostgreSQL Data Source in JasperSoft 7.1.1 Appliance

我下载了最新的 Bitnami Jaspersoft (7.1.1) 组件,当通过 Jaspersoft Web 前端创建 PostgreSQL (JDBC) 数据源到 PostgreSQL 时,"Test Connection" 按钮总是失败并显示错误消息 "Connection failed"。我将设备作为 OVM 下载,我 运行 它作为 VirtualBox VM。

为了确保不是网络问题,我在设备(它是一个 Debian 盒子)中安装了 psql 以确保它可以实际连接到我的 PostgreSQL 数据库(它是一个单独的服务器),并且它通过命令连接良好-第 psql 行,所以我认为问题是 JDBC 问题。我还尝试通过 ssh 打开端口转发 5432,这样我就可以通过本地主机连接到我的数据库。

我的问题是,如何调试 Jaspersoft 中的连接问题,或确定导致失败的原因? Jaspersoft 7.1.1 设备附带 MySQL 和 PostgreSQL JDBC 驱动程序,我能够创建并成功测试本地标准 MySQL 数据库的新数据源,以便该驱动程序绝对有效。我找不到任何在测试连接时会输出任何错误消息的日志文件。

设备附带以下 JDBC 驱动程序:/opt/bitnami/apache-tomcat/lib/postgresql-9.1-903.jdbc4.jar。它还包括以下文件:

/opt/bitnami/apps/jasperserver/buildomatic/conf_source/db/postgresql/jdbc/postgresql-9.4-1210.jdbc41.jar
/opt/bitnami/apps/jasperserver/buildomatic/conf_source/db/postgresql/jdbc/postgresql-9.4-1210.jdbc42.jar
/opt/bitnami/apps/jasperserver/buildomatic/conf_source/db/app-srv-jdbc-drivers/postgresql-9.4-1210.jdbc41.jar
/opt/bitnami/apps/jasperserver/buildomatic/conf_source/ieCe/lib/postgresql-9.4-1210.jdbc41.jar

我不熟悉 Tomcat,虽然我理解 java 代码,但我不是全栈 java 开发人员。我该如何调试这个问题?

默认情况下,Postgresql 不允许来自远程主机的连接。如果您 运行 postgresql 和 jaspersoft 在不同的主机上,则有可能。

How to Allow Remote Access to PostgreSQL database

修改了一段时间后,我尝试用 jdbc.postgresql.org 的最新 jdbc 驱动程序替换文件 /opt/bitnami/apache-tomcat/lib/postgresql-9.1-903.jdbc4.jar,然后重新启动服务器。这成功了!我想知道为什么最新的 Jaspersoft Server 组件预装了这么旧的 jdbc 驱动程序。此外,根据文档通过基于 Web 的界面安装它也不起作用。

在这里回答我自己的问题,以防其他人遇到同样的问题!