编辑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