Reporting services 如何在C代码中向RDL添加嵌入式数据源?
我试图在多租户的情况下使用SSR。我们希望支持的基本版本是SQL Server 2008,但如果需要R2,我们可能会同意 我目前正在使用ReportingService2005.asmx端点,它似乎公开了ReportService2005SoapClient类(尽管所有示例似乎都显示ReportingService2005类) 当我们运行一个报表时,我想从服务器复制一个报表,添加一个嵌入式数据源,将数据集指向该数据源,然后运行报表 我已经做到了:Reporting services 如何在C代码中向RDL添加嵌入式数据源?,reporting-services,ssrs-2008,rdl,Reporting Services,Ssrs 2008,Rdl,我试图在多租户的情况下使用SSR。我们希望支持的基本版本是SQL Server 2008,但如果需要R2,我们可能会同意 我目前正在使用ReportingService2005.asmx端点,它似乎公开了ReportService2005SoapClient类(尽管所有示例似乎都显示ReportingService2005类) 当我们运行一个报表时,我想从服务器复制一个报表,添加一个嵌入式数据源,将数据集指向该数据源,然后运行报表 我已经做到了: 从服务器获取RDL 修改XML以添加数据源 将数
在Microsoft.ReportingServices.Library.ReportingService2005Impl.ExecuteBatch(Guid batchId)上
在Microsoft.ReportingServices.WebServer.ReportingService 2005.ExecuteBatch()上 我已经将数据集添加到RDL中,它看起来与我在设计器中添加数据集时一样。但是,我假设需要向服务器添加一些内容?我错过了什么
(顺便说一句,我知道MS Dynamics在一个实例中启用了multi-tennant SSR,但我看不到他们是如何做到这一点的。如果他们有任何代码或任何他们共享的东西,有人可以告诉我那将是非常棒的。)您使用的端点或多或少是正确的。发件人: SQL Server 2008 R2中不推荐使用和终结点。端点包括两个端点的功能,并包含其他管理特性 在任何情况下,您都提到在步骤2中修改RDL以使用新的数据源。我可能错了,但我认为您可能仍然需要使用该方法向报表目录中添加一项 如果您从VisualStudio将新报表部署到报表服务器,那么在部署报表之前,它还会在日志中提到正在部署数据源
当然,您也可以事先使用报表管理器在服务器上创建该数据源(尽管“mydatasource_LOCAL”可能不是一个理想的名称)。我看不出在报表中使用嵌入式数据源时会部署数据源,而只是在创建共享数据源时。我会再核实一下。(是的,使用该端点是因为我们需要支持SQL Server 2008及更高版本)。当我部署报表时,确实会显示在reportmanager数据库中创建的数据源。它具有与报表匹配的项ID。但是,如何获取无法创建的报表的itemid来创建createdatasource?似乎我甚至不必修改RDL。只需克隆报表,然后使用SetItemDataSources,它为报表创建了一个嵌入式数据源。