从服务中的 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 报告 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 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