1

buildomatic のインストール スクリプトを使用して、war ファイル ディストリビューションをインストールしました。インストールは成功しましたが、Tomcat サーバーを起動すると、いくつかのデータベース例外が表示されます

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

最新の postgres ドライバーが tomcat/lib に存在するかどうかを確認しました。データベース「jasperserver」に必要なすべてのテーブルがあるかどうかも確認しましたが、これらのテーブルは空です。どのスクリプトがデータをテーブルにロードするか知っていますか? どんな助けでも大歓迎です

4

2 に答える 2

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。

次の 2 つの可能性しかありません。

  1. テーブル「jiresourcefolder」、「JIResourceFolder」、またはその他の大文字のバリエーションはありません。
  2. 大文字と小文字を区別するために引用符を使用してテーブルが作成されており、クエリで引用符が使用されていません。

以下が機能します。

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 フレームワークのドキュメントを確認し、データベース テーブルの引用を制御するフラグがあるかどうかを確認します。フラグが設定されている場所と設定されていない場所があるようです。

于 2013-10-21T19:01:21.293 に答える
0

Jasper Studio でも同じ問題が発生しました。

私の問題は、間違ったデータ アダプター (そのようなテーブルを持たない DB) がレポートに割り当てられていたことです。

デザインウィンドウに切り替えて、そのウィンドウの右上の「設定」のすぐ横にある適切なデータアダプターを選択しました。

于 2018-12-31T16:36:18.233 に答える