我正在尝试使用C#和RDL文件生成报告。我已经按照例子,但我无法得到它。我收到错误:
“项'sample.rdl'的路径无效。完整路径长度必须少于260个字符;其他限制适用。如果报表服务器处于纯模式,则路径必须以斜杠开头。( rsInvalidItemPath)”。我试过在路径上加一个斜线但没有成功。
我的报告服务器处于原生模式。我的两个主要问题是:
现在我将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;
答案 0 :(得分:1)
您的RDL文件必须部署到SSRS服务器。您可以在Visual Studio中执行此操作。 右键单击报表项目,将报表服务器URL设置为http://localhost/ReportServer。
然后右键单击您的报告并选择部署。 这会将您的报告和数据源部署到服务器。
您可以在更改此行后再次尝试代码....
rsReports.ServerReport.ReportPath = "/folder/reportName";
其中folder是发布报告的服务器上文件夹的名称,而reportName =“sample”(不包含.rdl)
您获得的错误意味着路径必须以'/'
开头