2009-07-13 12 views
2

私はローカル処理モードでレポートサービスを使用しています。SQL Reporting Services - 暗号化の警告

私は、レポートデータをSQLデータベースから取得したデータセットに設定しています。

私は2つの警告を取得したレポートレンダリングするために来る:

  1. データセットは、「PPA_Dev」フィールド「Eメール」の定義が含まれています。このフィールドは、データソースから返された結果セットにはありません。

  2. データセット 'PPA_Dev'には、フィールド 'EMail'の定義が含まれています。フィールドを読み取っている間に、データ拡張がエラーを返しました。位置9のフィールドのデータはありません。

私は生成されたレポートに表示されているのは電子メール列が空であることです。

どうしてですか?データセットを生成したSQLが正しい情報を返すた

UPDATE

最後に、私はメモ帳でrdlcファイルを使いこなし、レポート全体を破ってコードを元に戻し、正しく動作するようになりました。なぜそれが壊れていたのかわかりません、なぜそれが修正されたのかわからない、それはすべて非常にイライラしています。

答えて

1

データセット定義に「メール」というフィールドが含まれていて、ソースクエリから返されていないようですが、それ以上の情報がないとわかりづらいと思います。

データセットを生成するために使用されたSQLを含めることを訂正できますか?

1

この問題もありました。 Visual Studio Xmlエディタでrdlcをチェックすると、rdlcの 'DataSets/DataSet/Fields'セクションで間違って指定されたフィールド(上記の元の質問のEMail)が誤って指定されていました。これらのフィールドを削除すると、問題が修正されました。

以前にデータソースオブジェクトを変更していたため、rdlcデータセットが変更されたフィールドで更新されなかったようです。

1

SharePointリストに対してレポートを作成するときにこの問題が発生しました。リスト内の列が空の場合、列は問合せ応答で戻されませんでした。問題を解決するのに役立つold post on www.msbicentral.comが見つかりました。レポートのプロパティで

、カスタムコードセクションに新しい関数の定義を追加します。

Function NullAsEmpty(ByRef F As Field) As String 
    If F.IsMissing Then 
     Return "" 
    Else 
     If F.Value Is Nothing Then 
      Return "" 
     Else 
      Return F.Value 
     End If 
    End If 
End Function 

実際のフィールドの代わりに使用することができる変数を追加します。私の場合は、reasonという変数を=Code.NullAsEmpty(Fields!Reason)と定義しました。レポートでは、元のフィールドの出現を新しい変数に置き換えます。

0

私は同様の問題がありました。私にとって、RDLCはうまく見えました。最終的には、そのデータセットパラメータがストアドプロシージャとは異なる順序でリストされていることに気付きました。 SPと一致するようにデータセットでそれらを並べ替えると、すべてが順調でした。私はこのエラーが発生したときにあなたのチェックリストにこれを追加します。

0

正確なエラーメッセージが表示され、(上記のdkritzのお​​かげで)気付いたのは、私の最終的なSQL selectに含まれていないフィールドをデータセットに持っていたことです。だから私はそれらのフィールドをデータセットから削除しました。

履歴のビット - 元のデータセットはクエリテキストを使用していました。そのデータセットを削除し、別のデータセットを作成します(dsと同じ名前を使用します)。この新しいものはストアドプロシージャを参照し、一部のフィールドは元のものとは異なります。私はdsが同じ名前をつけたので、元のdsからフィールドを引っ張って、新しいdsと組み合わせたと思う。このエラーは古いdsのフィールドを参照していました。

0

SSRSレポートでテーブルを直接バインドすると正常に動作します。私はそのレポートのストアドプロシージャで同じテーブルを使用する場合でも、SPの冒頭に

SET ARITHABORT ON; 

を追加

[rsMissingFieldInDataSet] The dataset ‘DataSet1’ contains a definition for the Field ‘Currency’. This field is missing from the returned result set from the data source. 

を投げたこの問題を修正しました。

環境:Visual Studio 2008、SQL Server 2008

関連する問題