我使用 buildomatic 中的安装脚本安装了 war 文件分发。安装成功,但是当我启动tomcat服务器时,它显示了一些数据库异常
https://gist.github.com/shruti-palshikar/5ae801674dbd2a537518
我检查了最新的 postgres 驱动程序是否存在于 tomcat/lib 中。我还检查了数据库“jasperserver”是否具有所有必要的表但是这些表是空的,有谁知道哪个脚本将数据加载到表中?任何帮助表示赞赏
我使用 buildomatic 中的安装脚本安装了 war 文件分发。安装成功,但是当我启动tomcat服务器时,它显示了一些数据库异常
https://gist.github.com/shruti-palshikar/5ae801674dbd2a537518
我检查了最新的 postgres 驱动程序是否存在于 tomcat/lib 中。我还检查了数据库“jasperserver”是否具有所有必要的表但是这些表是空的,有谁知道哪个脚本将数据加载到表中?任何帮助表示赞赏
来自 PostgreSQL 的实际错误是:
relation "jiresourcefolder" does not exist
查询似乎是:
select this_.id as id5_0_, this_.version as version5_0_, this_.uri as uri5_0_, this_.hidden as hidden5_0_, this_.name as name5_0_, this_.label as label5_0_, this_.description as descript7_5_0_, this_.parent_folder as parent8_5_0_, this_.creation_date as creation9_5_0_, this_.update_date as update10_5_0_
from JIResourceFolder this_ where (this_.uri=?)
通常丑陋的框架生成 SQL。
只有两种可能:
以下将起作用:
CREATE TABLE JiReSoRrCeFoLdEr ...
SELECT * FROM jiresourcefolder...
SELECT * FROM JIRESOURCEFOLDER...
SELECT * FROM JIresourceFolder...
任何未加引号的表(或列)名称都在内部映射为小写,因此将全部匹配。
但是,如果您引用创建的表:
CREATE TABLE "JIResourceFolder"
SELECT * FROM "JIResourceFolder" -- works
SELECT * FROM JIResourceFolder -- doesn't
检查你的数据库模式,看看你是否有这个表,以及它是否都是小写的。然后,检查您的 java 框架的文档,看看是否有一些标志控制数据库表的引用。标志似乎设置在一个地方而不是另一个地方。
我在 Jasper Studio 中遇到了同样的问题。
我的问题是错误的数据适配器(没有这样的表的数据库)被分配给报告。
我已经切换到“设计”窗口并在“设置”旁边的该窗口右上角选择正确的数据适配器。