2016-11-22 3 views
0

私はPentaho Report Designer 5.4を使用することを余儀なくされ、次の問題があります。レポートのデータベース接続を変更しようとするたびに、オプションセクションのデザイナーの中にパラメータceを追加します。下の画像を参照してください)。 .prptファイルを開いてsql-ds.xmlを見ると、接続URLは次のようになります。"jdbc:sqlserver://192.168.1.194:1433;databaseName=statdb;integratedSecurity=false;ce"なぜPentaho Report Designerはレポートのデータベース接続に "ce"というパラメータを追加しますか?

問題は私のレポートが全く読み込まれていないということです。私は、レポートログに見て、次の行が見つかりました:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection string contains a badly formed name or value. 
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) ~[sqljdbc4.jar!/:na] 
    at com.microsoft.sqlserver.jdbc.Util.parseUrl(Util.java:445) ~[sqljdbc4.jar!/:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.parseAndMergeProperties(SQLServerDriver.java:1026) ~[sqljdbc4.jar!/:na] 
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1008) ~[sqljdbc4.jar!/:na] 

は、私は、パラメータを追加し、「CE」は、問題を引き起こしていることを前提としています。

  1. はなぜPentahoのレポートデザイナーは、レポートのデータベース接続に「CE」という名前のパラメータを追加します は、私は2つの質問がありますか?

  2. 接続URLは正しい形式ですか?パラメータ "ce"は正しく付加されていますか?

    enter image description here

答えて

1

これは、ファッションの定義された 'インスタンス名' です。あなたのケースでは、UIインスタンス名にも表示されているので、オプションは空白です。

これはおそらくバグです。接続の編集時に 'ce'が自動的に追加されます。このような流行の接続文字列を調整するデータベースエディタの試みをしたくない場合は、「汎用データベース」接続を使用します。完全なJavaクラス名と接続jdbc接続文字列を指定する必要があります。また、クラスパス上にこのjdbcドライバを持っていなければなりません。そして、そのような '接続の編集'の問題のほとんどを回避することができます。

完全ガイドでは、jdbc sqlserver dirver class

enter image description here

+0

親愛なる@Dzmitry Prakapenkaあなたの答えをありがとう。私の報告書がまったく読み込まれていないということを忘れてしまった。私は私の答えを編集しました。 私の推測では、パラメータ「ce」を追加すると問題が発生しています。レポートはまったく読み込まれていませんでした。同意しますか?残念ながら私はこれをテストすることはできません。 –

+1

レポートにロードされていない可能性が最も高いスタックトレースがあります。なぜそれがそうでないのかを推測するのは難しいです。レポート定義を読み込めない場合がありますが、スクリーンショットがあれば実際に読み込まれます。レポートが生成されない場合(レポート定義がロードされた後)、スタックトレースを含むポップアップがレポートデザイナに表示されるか、またはサーバログ内の同じスタックトレースか、何が間違っているかを判断するのに非常に役立ちます。 –

1

を実行し、このクエリ発見し、あなたのインスタンス名を取得し、[オプション]タブCEプロパティにその値を代入し、そこに行くことができます:)

SELECT HOST_NAME() AS HostName, SUSER_NAME() LoggedInUser,SERVERPROPERTY('MachineName') AS [ServerName], 
        SERVERPROPERTY('ServerName') AS [ServerInstanceName], 
      SERVERPROPERTY('InstanceName') AS [Instance], 
      SERVERPROPERTY('Edition') AS [Edition], 
      SERVERPROPERTY('ProductVersion') AS [ProductVersion], 
        Left(@@Version, Charindex('-', @@version) - 2) As VersionName 
関連する問題