从文件加载SSRS报告在C#中的一个服务

我们期待与SSRS更换晶体。

我想知道,如果它是在所有可能的加载在C#中的.rdl或.rdl.data文件并生成到内存流的报告。

我看到使用LocalReport一些实例中,但这似乎是任一的WinForms或WebForms的组件的一部分。

所以,我想知道的是:

  • 是否有可能从文件加载该报告为我们服务的一部分。
  • 我们可以生成一个流报告(可以说内存流)
  • 我能做到这一点,而不在我的服务使用的WebForms /的WinForms组件
  • 我们能做到这一点,而不使用SSRS web服务

--------------解决方案-------------

我不知道这是一个答案,但可以把它叫做辅助材料。

我从MSDN此代码示例,告诉您如何通过创建服务客户端,并呼吁给定的报告为PDF做到这一点,并保存到文件流。

http://msdn.microsoft.com/en-us/library/reportexecution2005.reportexecutionservice.render.aspx

我目前遇到的问题是要找到正确的客户对象指向VS到SSRS服务后进行交互。 我使用与服务交互的对象是:

ReportExecutionServiceSoapClient rs = new ReportExecutionServiceSoapClient();

但是,接口不匹配我的代码示例。 所以这是一个有点接近,但不是一个答案。

更新:正确的代理类生成器

这里的链接到如何正确生成代理。 你需要安装了Windows SDK(目前是7.1)。 你可以发现在microsoft.com,像我一样。 执行命令行,它会为你生成一个文件。 包括项目:

http://msdn.microsoft.com/en-us/library/ms155134%28v=SQL.110%29.aspx

UPDATE:得到的东西干活

我不得不产生正确的代理。 好了,所以在2010年SSRS,显然他们分手报告执行和管理为两个服务。 我需要生成一个C#控制台应用程序我的报告中只有一个是执行服务。 也许这是完全有目共睹的,但我:)?

好了,所以打开一个Windows SDK命令外壳并把这个东西在它的执行服务:

wsdl /language:CS /n:"Microsoft.SqlServer.ReportExecution" http://<Server Name>/reportserver/reportexecution2010.asmx?wsdl /o:"ReportExecution.cs"

转到C:\ Program Files文件\微软的SDK \ WINDOWS \ V7.1,拿起你的ReportExecution.cs文件。 复制并粘贴到您的项目。

然后,你就必须这样说:

Microsoft.SqlServer.ReportExecution.ReportExecutionService rsExec =
new Microsoft.SqlServer.ReportExecution.ReportExecutionService();
rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials;
rsExec.Url = @"http://<ServerName>/reportserver/ReportExecution2005.asmx";

沿着从这个链接,这是与上面相同的一个例子可循,你应该生成您方便的C#应用​​程序的一些相当真棒报告。

分类:C# 时间:2015-03-16 人气:5
本文关键词: 报告服务,服务
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.964 (s). 10 q(s)