0

私は、ファイルへの変更をリッスンし続け、変更に基づいてスクリプトをトリガーできるGuard Gemについて知っています(私はそれを使用したことはありませんが)。。

しかし、今のところ、それは私が必要としているものではありません。。データベース内の特定のテーブルの変更をリッスンし続けるには、同様のツールが必要です。。変更がある場合は、スクリプトをトリガーする必要があります。。

追加の詳細

基本的にレポートエンジンであるJasperServerというツールを使用しています。。これは、Tomcat上でWebアプリとして実行されます。。

ユーザーインターフェイスを介してほとんどの機能を追加する新しいレポートを設計する際に非常に便利です。ただし、変更を加えると、変更はjasperserverという名前のテーブルにローカルに保存されます(現在PostgreSQLを使用していますが、おそらく他のデータベースと非常によく似ています)。

だから私は自分のレポートのコピーをとる必要があるときはいつでも、私はしなければなりません

$ JASPER_HOME / buildomatic / js-export.sh --uris Path / In / JasperServer --output-dir Path / In / FileSystem

これにより、jasperserverテーブルの写真が撮られ、レポートフォルダーが作成されます。。他のマシンに展開できるもの。。

ただし、これは手動の手順であることがわかり、このプロセスを自動化する方法が必要だと感じています。だから私は、プレーンファイルではなくデータベースを保護するためのツールがあるかどうか疑問に思いました。。

助言がありますか 。。返信してください 。。

4

1 に答える 1

0

エクスポートスクリプトはデータベーステーブルのイメージを取得しませんが、JasperReportsServerでレポート構成の記述子を作成します。--output-dirを見ると、レポート構成を説明するXMLファイル、すべてのコンテンツを保持するデータファイル、入力コントロールの説明、データソースなどがあります。これらの構成はデータベースに依存しないXML形式にエクスポートされ、 JasperReportsServerデータベース。したがって、特定のテーブルを監視しても、要件に対応できません。

  • テーブルを見ると、JIResourceすべての新しいリポジトリ要素(フォルダー、一時ファイル、その他のリソースなど)がモニターをトリガーします。JIResourceエクスポートに必要なURIを保持します。
  • ただし、テーブルを監視すると、JIReportUnitすべての新しいレポートユニットが表示されますが、エクスポートに必要なURIに関する情報を取得するためにクエリを実行する必要があります。

一般に、アプリケーションのデータベースを直接使用することはお勧めできません。アプリケーションに付属しているAPIを利用することをお勧めします。

したがって、私の理解から、2つのオプションがあります。

  • ワークフローに基づくソリューション-つまり、新しいレポートがアップロードされたら、手動でエクスポートを開始します(最新のリリースでは、フロントエンドを介したエクスポートがサポートされているため、ユースケースが簡素化される可能性があります)。

  • サーバー製品のカスタマイズに基づくソリューション。たとえば、保存レポートワークフローを拡張して、保存中に追加のアクションを開始します。

于 2013-01-24T10:54:38.477 に答える