Postgres的Jasper服务器社区版安装问题

时间:2013-10-21 16:40:42

标签: postgresql tomcat jdbc war

我使用buildomatic中的安装脚本安装了war文件分发。安装成功但是当我启动tomcat服务器时它会显示一些数据库异常

https://gist.github.com/shruti-palshikar/5ae801674dbd2a537518

我检查了tomcat / lib中是否存在最新的postgres驱动程序。 我还检查了数据库'jasperserver'是否具有所有必需的表 但是这些表是空的,是否有人知道哪个脚本将数据加载到表中? 任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

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。

只有两种可能性:

  1. 没有表格“jiresourcefolder”,“JIResourceFolder”或大写字母的任何其他变体。
  2. 使用引号创建表以保留其大小写,并且查询未使用引号。
  3. 以下内容可行:

    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框架的文档,看看是否有一些控制数据库表引用的标志。似乎标志设置在一个地方而不是另一个地方。

答案 1 :(得分:0)

我在Jasper Studio中遇到了同样的问题。

我的问题是为报告分配了错误的数据适配器(没有这样的表的数据库)。

我已经切换到“设计”窗口,并在该窗口的右上方“设置”旁边选择了正确的数据适配器。