【问题标题】:How to display a SQL Server Report in a .net webpart for SharePoint?如何在 SharePoint 的 .net webpart 中显示 SQL Server 报表?
【发布时间】:2011-05-19 23:47:01
【问题描述】:

谁能向我描述在自定义 Web 部件中显示托管在报表服务器(远程模式)上的 SQL Server 报表的确切步骤?我意识到 SSRS 附带了一个开箱即用的 Web 部件,但我希望能够已经配置 Web 部件来显示可供用户在其编辑站点模式中添加的特定报告。本质上,目标是将诸如“指定时间”之类的报告作为 Web 部件本身,任何有兴趣显示“指定时间”的人只需单击“站点操作”、“编辑页面”、“添加 Web 部件”,然后选择“指定时间”Web 部件。无需配置报表服务器 url 或报表路径。此外,出于某些原因,我们希望继续在本机模式下运行报表服务器,因此与 SharePoint 的集成模式不是一个选项。

所以,下面是我的情况和我已经尝试过的总结:

  1. 环境为 WSS3.0,Microsoft SQL Server 2005
  2. 我创建了一个 .net webpart 并尝试将 ReportViewer 控件的实例添加到 webpart。我已设置为在远程处理模式下运行,并扩展了抽象 IReportServerCredentials 类来处理身份验证。
  3. 我已确保程序集设置为 AllowPartiallyTrustedCallers
  4. 项目编译良好。我将 dll 放在 webpart 的正确 wss bin 文件夹中。
  5. 当我尝试查看 Web 部件时,我收到站点错误消息“该程序集不允许部分受信任的调用方。”

我已经阅读了有关使用 SQL Server 注册我的程序集的内容,我已经尝试使用 CREATE ASSEMBLY SQL 语法,但是我收到一个 sql 查询错误,指出已经存在对另一个程序集的引用并且它在同一位置找不到它。

老实说,我对 SQL Server 和报告服务的了解还不够,不知道我是否即将让它工作,或者我是否一开始就完全错误地设置了一切。我之前制作了自定义 webpart 并成功地将它们部署到站点,所以我知道问题在于我对 SSRS 和 SQL Server 的无知。有其他人完成我之前描述的吗?提前致谢!

【问题讨论】:

    标签: sql-server sharepoint reporting-services web-parts


    【解决方案1】:

    我建议在您的 Web 部件中使用 ASP.NET ReportViewer 控件。这些控件允许您自定义您提到的所有部分,并且非常易于使用和设置。使用此控件要注意的一件事是浏览器兼容性。开箱即用,它不适用于 Firefox 或 Chrome。如果您希望可以附加到 Reporting Services 服务,该服务将为您提供您想要的数据,然后编写一个使用该结构输出数据的可模板控件。该选项要复杂得多,但允许由 Web 部件而不是报表定义格式。

    【讨论】:

    • 我实际上已经这样做了,但是我在连接到报表服务器时遇到了问题。基本上,我可以正常访问 web url,但是当我在控件中设置 reportserverurl 时,在查看该部分时收到以下错误消息:'连接到报表服务器的尝试失败。检查您的连接信息以及报表服务器是否为兼容版本。我已经遵循了几乎所有我能找到的接收此错误的解决方案(编辑 reportserverconfig 文件,确保报表管理器对用户具有适当的权限)......仍然无法让它工作?
    • 你能自己导航到报表服务器吗?
    • 是的,我可以查看servername/reportsservername/reportserver(这只是文件夹视图)。当我在 ReportViewer 控件中指定报告服务器 url 时似乎没有连接
    • 我遇到了类似的问题 - 报表查看器控件所在的应用程序的应用程序池用户正在尝试连接到报表服务器。您需要授予应用程序池浏览器的用户访问报告的权限。另一方面,如果您已通过使用 IReportServerCredentials 成功模拟了用户,那么请确保该对象的实例指定的用户也具有足够的权限。简而言之,这可能是一个权限问题(我最近也遇到过这个问题,请注意没有 WSS 参与)
    • 终于搞定了!我认为主要问题是我认为仅重建程序集就足够了,但似乎我必须从 GAC 卸载它并将其放回那里,以使任何真正的代码更改生效?无论哪种方式,在这样做之后它突然开始工作!很确定问题在于设置正确的用户权限,就像你说的那样,Max。感谢您的建议!
    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 2011-07-09
    • 2011-09-30
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多