我正在創建一個應用程序將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