2012-03-29 9 views
2

まず、私の質問はすでにSOにある類似のものと少し異なります。たとえば、: JasperReport parameters works in iReport but fails on JasperServerタイムスタンプの問題を扱っている他にも、私の役に立たなかった問題があります。デフォルトのパラメータ値は、iReportでは動作しますが、JasperServerでは動作しません

私はJasperReportsの初心者です。上記のリンクされた質問は、入力コントロールをiReportのレポート定義に追加することで解決され、JasperServerにエクスポートされます。それは私のためにはうまくいく。

私の問題は、タイムスタンプパラメータと入力コントロールを持つクエリを持つレポートにあります。私はパラメータにjava.sql.Timestamp(0)のデフォルト値を割り当てました。 iReportを開いて「Run on JasperServer」オプションを使用してレポートを生成すると、すべてが正常に機能し、入力コントロールが適切なデフォルト値で表示されます。しかし、ブラウザの接続から同じレポートを実行すると、デフォルト値は機能しません。コントロールは、1969年に日付のデフォルトで表示されると思います。入力コントロールはまだ機能し、値を入力することができ、レポートは正常に実行されますが、ブラウザ入力コントロールはデフォルト値を取得しません。

入力コントロールがタイムスタンプではなくdatetimeのデータ型を持つと定義されているため、この問題が発生する可能性があります。しかし、その場合、iReportの入力コントロールでデフォルトがうまく動作する理由は分かりませんが、ブラウザからレポートが実行されている場合はわかりません。私は誰かがjava.sql.Timestampがバージョン3.5より前のJasperServerでサポートされていないと言った様々な投稿を読んだ。私は最新のバージョンを使用していますが、サーバーリポジトリにタイムスタンプ型を追加する方法(またはデフォルト値の問題以外のdatetime型でうまく動作するように見えるため、必要かどうか)はまだ分かりません。あなたはiReportは

new java.util.Date() 

それはあなたの現在の日付を与え、私はそれがまた、ジャスパー・サーバーのブラウザで正常に動作テストしてきた中で、この機能を使用することができ、デフォルトとして現在の日付の

+1

デフォルト値としてどのような値を設定しますか?どうやら、JasperServerはデフォルトの0から1969に対応しています。正確に何をしたいですか? – Tom

+0

ありがとう、デフォルトとして現在の日付が必要でした。私の主な問題は、JasperServerがiReportとは違った扱いをしていたことでした。おそらく、JavaとJasperServerは自分自身が経験していなかったものでした。私は入力コントロールのプロンプトに使用されるdateパラメータを使ってより良い設定を行っていますが、dateコントロール入力にアクセスするデフォルトの式を持つ文字列パラメータ( 'isForPrompting = "false")を使用したクエリを使用しています。 iReportとJasperServerの両方のブラウザで正常に動作します。 –

答えて

関連する問題