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

2024-02-28

我们正在考虑用 SSRS 取代 Crystal。

我想知道是否可以在 C# 中加载 .rdl 或 .rdl.data 文件并将报告生成到内存流。

我见过一些使用的例子本地报告 http://msdn.microsoft.com/en-us/library/ms252207%28v=vs.80%29.aspx,但这似乎是 WinForms 或 WebForms 程序集的一部分。

所以我想知道的是:

  • 作为我们服务的一部分,是否可以从文件加载报告。
  • 然后我们可以将报告生成到流(假设内存 溪流)
  • 我可以在不使用 WebForms/WinForms 程序集的情况下执行此操作吗? 服务
  • 我们可以在不使用 SSRS 的 Web 服务的情况下实现这一目标吗?

我不确定这是否是答案,但我们可以将其称为支持材料。

我有来自 msdn 的代码示例,它展示了如何通过创建服务客户端并将给定报告作为 PDF 调用并将其保存到文件流来实现此目的。

http://msdn.microsoft.com/en-us/library/reportexecution2005.reportexecutionservice.render.aspx 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 http://msdn.microsoft.com/en-us/library/ms155134%28v=SQL.110%29.aspx

更新:一切正常

我只需要生成正确的代理即可。好的,对于 SSRS 2010,显然他们将报告执行和管理分为两个服务。从 C# 控制台应用程序生成报告所需的唯一服务是执行服务。也许这对除了我之外的每个人来说都是显而易见的:)?

好的,打开一个 Windows SDK 命令 shell 并将这些内容放入其中以用于执行服务:

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

转到 C:\Program Files\Microsoft SDKs\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";

按照以下示例进行操作这个链接 http://msdn.microsoft.com/en-us/library/reportexecution2005.reportexecutionservice.render.aspx,与上面的报告相同,您应该从您方便的 C# 应用程序生成一些非常棒的报告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从服务中的 C# 文件加载 SSRS 报告 的相关文章

  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • 代码 GetAsyncKeyState(VK_SHIFT) & 0x8000 中的这些数字是什么?它们是必不可少的吗?

    我试图在按下按键的简单动作中找到这些数字及其含义的任何逻辑解释 GetAsyncKeyState VK SHIFT 0x8000 可以使用哪些其他值来代替0x8000它们与按键有什么关系 GetAsyncKeyState 根据文档返回 如果
  • 在c#中执行Redis控制台命令

    我需要从 Redis 控制台获取 客户端列表 输出以在我的 C 应用程序中使用 有没有办法使用 ConnectionMultiplexer 执行该命令 或者是否有内置方法可以查找该信息 CLIENT LIST是 服务器 命令 而不是 数据库
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • Symfony2 条件服务声明

    我目前正在尝试找到一个可靠的解决方案来动态更改 Symfony2 服务的依赖关系 详细信息 我有一个服务 它使用 HTTP 驱动程序与外部 API 进行通信 class myAwesomeService private httpDriver
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • Heroku - '@heroku/buildpack-registry 无法从 @heroku-cli/plugin-buildpacks 访问'

    我尝试通过 Heroku 启动我的 Nuxt SSR Universal 应用程序 因为 Netlify 不再满足我的需求 我需要后端功能 按照教程进行操作here https nuxtjs org faq heroku deploymen
  • 创建任务板模板

    基本想法是 我希望能够制作一个新的承包商任务板主模板 我将有一个称为承包商集成的迭代路径 里面有一个主模板 其中有 4 个故事 每个故事有 10 个任务 我希望能够通过更改分配给它的名称来为每个新来的人使用此模板 因此 每次我招募新人时 都
  • 组件属性不支持复杂内容(混合 C# 和标记)

    我正在尝试使用 Razor 参数并将其传递到 Blazor 中进行进一步处理 但在我尝试构建的 onclick 事件上收到此错误消息 组件属性不支持复杂内容 混合 C 和标记 img 标签如下 tr for int j 0 j lt Can
  • 宝石安装 ffi -v '1.1.5' osx 10.8

    我一直在尝试通过以下方式在 OSX 10 8 上安装 ffi gem install ffi v 1 1 5 结果 ERROR Error installing ffi ERROR Failed to build gem native ex
  • Pytest 不选取类内的测试方法

    一直使用Pythonunittest2 并且刚刚开始迁移到pytest 当然 我试图进行比较 但我无法弄清楚的一件事是 Question为什么 Pytest 不选择 测试 类中定义的测试方法 什么对我有用 login test py imp
  • 可以更少地引用扩展属性吗?

    是否有可能以更少的时间扩展扩展财产 我在一个 分布式 文件中有定义 需要添加 important在我的特殊情况下 现有财产 例如 我有一个定义此类的 less 文件 pfx grey light bg background color e5
  • 从命令行将文件包含在项目中

    有没有办法在 vs2012 中从命令行将文件包含在项目中 我之所以问这个问题 是因为每当我使用其他 IDE 如 ST3 或从 Photoshop 等保存文件时 将添加到项目文件夹中的任何新文件包含在内是非常令人沮丧的 我正在使用 Grunt
  • Android:暂停/恢复计时器或线程

    我已经检查了有关如何暂停 恢复计时器的所有答案 但找不到解决方案 我创建了一个计时器任务 它计算员工的工作时间并将其放入 TextView 中进行显示 代码如下 Timer T new Timer T scheduleAtFixedRate
  • 如何获取 solr 术语频率?

    我有一个问题 如何才能像我们通过以下方法在 lucene 中获得术语频率一样 DocFreq new Term 字段 值 使用 solr solrnet Try 调试查询 打开 http wiki apache org solr SolrR
  • 如何在没有“onLocationChange”方法的情况下知道 GPS 位置

    我想通过单击一个按钮来发送短信 并且在短信中我想发送位置信息 我试过 location locationManager getLastKnownLocation LocationManager NETWORK PROVIDER 但第一次显示
  • 使用 gson 反序列化时将默认值设置为变量

    我正在尝试转换JSON http www json org 到 Java 对象 当一对的某个值是null 应该设置一些默认值 这是我的POJO https en wikipedia org wiki Plain Old Java Objec
  • 在后台下载多个文件(仅限 iOS 7)

    我目前正在开发一个播客应用程序 该应用程序只能在 iOS 7 上运行 并且它具有允许在后台模式下同步和下载最近剧集的功能 所以很清楚同步 我实现了application performFetchWithCompletionHandler方法
  • WCF服务部署-工具

    有一个 WCF 服务正在 IIS 下运行 该服务访问其文件夹中的文件 访问 SQL Server 数据库并将消息写入事件日志 某数据中心部署平台为Windows Server 2008 我开发了这项服务 但我仍然是一个初学者 部署将导致创建
  • Laravel 5.2 类 App\Http\Controllers\AuthController 不存在

    我的整个应用程序是在 Laravel 5 2 中制作的 工作得很好 但是当我尝试通过以下命令获取路由列表时 php artisan 路线 列表 它向我显示以下错误 ReflectionException 类 App Http Control
  • Keras 模型未能减少损失

    我提出一个例子 其中tf keras模型无法从非常简单的数据中学习 我在用着tensorflow gpu 2 0 0 keras 2 3 0和Python 3 7 在文章的最后 我给出了重现我观察到的问题的 Python 代码 Data 样
  • 无法使用 Swift 4 包管理器导入包

    尝试在我的机器上使用 Xcode beta v9 测试 Swift 4 但在将包导入测试项目时遇到问题 启动项目使用swift package init type executable Changed Package swift并添加了 2
  • 如何探索使用 scikit learn 构建的决策树

    我正在使用构建决策树 clf tree DecisionTreeClassifier clf clf fit X train Y train 这一切都很好 但是 我该如何探索决策树呢 例如 如何查找 X train 中的哪些条目出现在特定叶
  • [[ $- = *i* ]] 在 bash 中意味着什么?

    我正在安装液体提示 https github com nojhan liquidprompt并且在文档中他们要求您添加 i source liquidprompt liquidprompt在你的 bashrc 我试图理解该行的第一部分 但这
  • HashMap UUID 还是 String 作为键?

    HashMap
  • 从服务中的 C# 文件加载 SSRS 报告

    我们正在考虑用 SSRS 取代 Crystal 我想知道是否可以在 C 中加载 rdl 或 rdl data 文件并将报告生成到内存流 我见过一些使用的例子本地报告 http msdn microsoft com en us library