我使用 buildomatic 中的安装脚本安装了 war 文件分发版。安装成功但是当我启动tomcat服务器时它显示一些数据库异常
https://gist.github.com/shruti-palshikar/5ae801674dbd2a537518
我检查了 tomcat/lib 中是否存在最新的 postgres 驱动程序。 我还检查了数据库“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。
只有两种可能:
- 没有表“jiresourcefolder”、“JIResourceFolder”或任何其他大写形式。
- 该表是用引号创建的以保留其大小写,查询未使用引号。
以下将起作用:
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 框架的文档,看看是否有一些标志控制数据库表的引用。似乎标志设置在一个地方而不是另一个地方。
关于postgresql - Postgres 的 Jasper 服务器社区版安装问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19500129/