編輯SSRS 2012部署的DataSet參考:我想我可以簡化這個問題有點要求是需要只知道什麼:更新數據源,並從C#
我與C#中使用的SSRS 2010網站工作服務: 'ReportService2010.asmx'http://technet.microsoft.com/en-us/library/ee640743.aspx
我可以使用方法'CreateDataSource'在SSRS服務器http://(servername)/ ReportServer的實例上創建數據源。
我還可以使用方法'CreateCatalogItem'在服務器上創建一個引用項目的RDL本地文件的報告,將其序列化爲一個字節數組,然後將其作爲'Definition'傳遞給在其上創建它的方法服務器。
現在我所做的一切與一個警告,以及一個主要的作品。我只能將所有內容部署到同一個文件夾。如果我部署數據源來說'數據源'文件夾,然後報告說:'測試報告',報告不知道它有一個共享的數據源來引用不同的位置。因此,我在technet文章中挖了一點點,並試圖'GetItemDataSources'方法,但它只給出了ReportingService2010.DataSource返回類型的名稱和類型。 有誰知道鏈接了一個「報告」或數據源「數據集的的CatalogItem財產「的方法,所以當部署指向在SSRS服務器上的不同文件夾中的參考?必須有辦法做到這一點,因爲我知道我可以從商業智能開發工作室進行部署,並且可以執行此操作。
是的,這似乎正是我需要的,但我沒有找到「CombinePath」您在聲明Web服務的實例後擁有的方法。這是你使用的本地方法嗎?我很好奇當你設置定義路徑時,你只需要/(文件夾)/(對象)還是你需要http://(servername)/ ReportServer /(文件夾)/(對象)?這看起來像我想查看你的代碼,讓我測試它,看看我能否爲它工作。 – djangojazz 2013-04-04 15:58:23
我已經添加了一些關於路徑的更多信息。對不起,'CombinePath'只是一個在其他地方定義的私有方法;應該對複製和粘貼更加小心。不幸的是,我現在無法運行代碼來查看需要清理的內容,但希望它仍然足以讓您走上正確的軌道。 – 2013-04-04 16:44:43
謝謝我必須改變你的代碼部分,但它的工作原理,我不能聲明一個新的DataSource []並讓它工作出於某種原因,奇怪。但是這個方法很有效,所以我給你答案。如果您發現數據源的「名稱」不必與服務器上的rds文件的「實際名稱」相匹配,我對您的編碼感到好奇。 EG:如果某人懶惰,它會將其稱爲「DataSource1」,但可能會引用「Data Sources/TestSource」。看來GetItemDataSources的方法給你的名字,但不是參考。有任何想法嗎? – djangojazz 2013-04-04 18:26:13