我正在创建一个应用程序将SSRS .rdl文件上载到我们的报表服务器。这是使用ReportingService2010()c#如何编程指定指定的数据源到SSRS .RDL文件? ReportingService2010()
.RDL文件的上载工作正常。
接下来,应用程序应为指定的数据源分配上传的.RDL文件,但此元素失败。我的代码如下所示:
DataSource[] dsarray = new DataSource[1];
string DSName = "MyDataSource";
DataSourceReference reference = new DataSourceReference();
DataSource ds = new DataSource();
dsarray[0] = new DataSource();
reference.Reference = "/" + DSName;
ds.Item = reference;
ds.Name = "/" + DSName;
dsarray[0] = ds;
rs.SetItemDataSources("/" + location + "/" + filename, dsarray);
我得到以下错误消息:
出现下列错误:
数据源 '/ MyDataSource' 不能被发现。 Microsoft.ReportingServices.Diagnostics.Utilities.DataSourceNotFoundException: 无法找到数据源'/ MyDataSource'。
我很确定我非常接近,但我不能得到它的工作。我已经尝试了许多不同的解决方案&广泛地在线查看(包括堆栈溢出!),但我找不到与我的问题相关的示例。大多数讨论涉及ReportingServices2005。
我应该提到我的数据源驻留在根文件夹'/'中,因为这是一个开发服务器。
我对c#比较缺乏经验,所以也许我缺少一些明显的东西。 任何信息/想法的将非常感激,非常感谢提前。
检查权限“数据来源“并将它们与报告的权限进行比较。他们匹配吗? – tgolisch
不幸的是,他们确实匹配。我非常有信心这个问题是基于代码的(尽管我可能是错的)。 谢谢你的建议。 –
这篇SO文章的代码非常类似于您的代码,但您的文章缺少一些细微的细节。 http://stackoverflow.com/questions/16083951/ssrs-rdl-mapping-datasources-programmatically – tgolisch