2016-04-15 16 views
0

C#およびRDLファイルを使用してレポートを生成しようとしています。私は例を追ってきましたが、私はそれを得ることができません。C#、ReportViewerおよびRDLファイルを使用したレポートの生成

"項目 'sample.rdl'のパスは無効です。フルパスは260文字未満でなければなりません。その他の制限が適用されます。レポートサーバーがネイティブモードの場合、パススラッシュ(rsInvalidItemPath)で始まる必要があります "。私はパスにスラッシュを前もって試してみましたが、成功しませんでした。

私のレポートサーバーはネイティブモードです。私の2つの主な質問は次のとおりです。

  1. パラメータが必要ですか?
  2. RDLファイルはどこに保存する必要がありますか?

今は自分のRDLファイルをプロジェクトに保存しています。 (私はこれが正しいとは思わない)

は、ここでは、コードスニペットです:

const string path = "sample.rdl"; 
string url = "http://localhost/ReportServer"; 
string format = "PDF"; 

var rsReports = new Microsoft.Reporting.WebForms.ReportViewer 
{ 
    ProcessingMode = ProcessingMode.Remote, 
    ShowParameterPrompts = false 
}; 
rsReports.ServerReport.ReportServerUrl = new Uri(url); 
rsReports.ServerReport.ReportPath = Path.Combine("\\" + Environment.CurrentDirectory, path); 
rsReports.ServerReport.Refresh(); 
byte[] report = rsReports.ServerReport.Render(format.ToUpper()); 

return report; 

答えて

1

あなたのRDLファイルは、SSRSサーバーにデプロイする必要があります。これはVisual Studio内から行うことができます。 レポートプロジェクトを右クリックし、レポートサーバーのURLをhttp://localhost/ReportServerに設定します。

レポートを右クリックし、展開を選択します。 これは、レポートとデータソースをサーバーに展開します。

この行を変更した後、あなたはそれから......、再びフォルダがレポートがに出版されたサーバー上のフォルダの名前であり、REPORTNAME = "

rsReports.ServerReport.ReportPath = "/folder/reportName"; 

をあなたのコードを試すことができますサンプル "(.rdlなし)

エラーが発生すると、パスは '/'で始まる必要があります。