SQL 2008 R2 - Reporting Services,通过 Internet 使用带有 Report Builder 3 的数据模型导致崩溃,有啥想法吗?

Posted

技术标签:

【中文标题】SQL 2008 R2 - Reporting Services,通过 Internet 使用带有 Report Builder 3 的数据模型导致崩溃,有啥想法吗?【英文标题】:SQL 2008 R2 - Reporting Services, using Data Model with Report Builder 3 over internet causes crash, any ideas?SQL 2008 R2 - Reporting Services,通过 Internet 使用带有 Report Builder 3 的数据模型导致崩溃,有什么想法吗? 【发布时间】:2011-06-23 10:57:13 【问题描述】:

背景:

我有一个安装了 SQL 2008 R2 数据引擎和报告服务的 Windows 2008 R2 机器。 我已将 Reporting Services 配置为使用我编写的自定义身份验证 (FormsAuthentication)。 假设用户在 Reporting Services 配置文件中正确登录,自定义身份验证会传递用户名,以将其视为管理员。 以配置为管理员的用户身份登录时,Reporting Services 查询有关当前用户权限的自定义身份验证将始终返回 true。 我已将数据模型上传到 Reporting Services(使用内置的 Report Manager 应用程序),该模型使用我添加的数据源(也使用内置的 Report Manager 应用程序)连接到同一框上的数据库。 我有一个 ASP.NET MVC3 Web 应用程序(也在同一个盒子上),它被配置为使用 Reporting Services Web 服务来执行诸如列出现有报表、运行现有报表和启动 Report Builder 3 的链接之类的事情。李> ASP.NET MVC3 Web 应用与 Reporting Services 共享其用户登录信息,即 Reporting Services 使用的自定义身份验证通过查看与 Web 应用相同的数据来验证用户详细信息。 ASP.NET MVC3 Web 应用在外部可用。

问题:

如果我远程登录 Web 应用程序,通过链接启动 Report Builder 3,以 UserA 身份登录,使用带有选项的报表向导 >> 创建数据集 >> 选择数据模型(见上文)作为数据源 >> 选择1 个数据表(例如组织)>> 点击按钮预览数据 >> 点击下一步 -- BANG - REPORT BUILDER 3 HANGS。 如果我在托管所有内容的服务器上本地登录 Web 应用程序,通过链接启动 Report Builder 3,以 UserA 身份登录,使用带有选项的报表向导 >> 创建数据集 >> 选择数据模型(见上文)作为源数据>>选择1个数据表(例如组织)>>单击按钮预览数据>>单击下一步>>选择行/列组和值,报告样式并单击完成。然后我可以运行报告并保存它。 -- 一切正常!

我看过的东西:

如果我对 SQL Profiler 进行跟踪 报告服务 数据库和数据库 数据模型在以下情况下使用 它挂起它出现报告 服务正在进入某种 循环不断地询问 Reporting Services 数据库(如果有) 是任何正在运行的作业。当它工作时 它从不询问报告服务 关于此时正在运行的作业。 如果我使用数据模型在 Report Builder 3 中使用的数据源作为数据源,那么它确实可以工作。 但是这会提示您登录 SQL Server 并要求您在服务器和远程计算机上打开 SQL Server 端口!不好。

这快把我逼疯了。任何拥有使用 Reporting Services 2008 R2 和 Report Builder 3 的黑魔法的精英技能,并且可以帮助解决这个问题的人都应该获得所有的计算奖项。

编辑:我在谷歌搜索时发现了这个(Forum post, Google Cache)并且非常兴奋,但无法完全理解海报在说什么,我试图遵循它所做的更改只是失败了所有 Reporting Services 访问权限,因此我回滚了更改。不幸的是,论坛已归档(而且有点垃圾),所以我无法联系或给发帖者留言。

【问题讨论】:

【参考方案1】:

Peter,我在 Reporting Services 方面的经验非常有限;我一直在使用 BIDS 为 SQL Azure Reporting Services 构建报告。

我遇到了一个问题,即当我尝试预览报告时,BIDS 崩溃了,我花了几个小时才发现我的报告没有从版本控制中签出,并且 BIDS 无法保存它们。 Visual Studio 没有给我任何有意义的错误消息,而是直接让我崩溃了。

也许,只是也许,您的问题是报表生成器无法保存报表并且由于类似原因而崩溃。但是,根据您的描述,我建议如果是这种情况,则可能是权限问题,而不是只读问题。我会检查远程登录时访问数据的安全上下文是否符合您的预期。

抱歉,我不能给你一个明确的答案,但也许它会建议一个新的地方。

【讨论】:

报表生成器 3 挂起时并没有进行保存。当您保存时,它会被发送到 Reporting Services (RS),然后它将报表定义存储在其 RS 数据库中。我认为这是一个 MS 错误。【参考方案2】:

事实证明,这是由于 Microsoft 的一个男生错误使用一个连接而没有正确打开/关闭它。当我们打电话给他们时,MS 能够给我们这个解决方法:

基本上在您安装完 Report Builder 3 clickOnce 应用程序后,在您的计算机上找到它,然后在 app.config 文件的 system.net 标签内添加以下标签。

<connectionManagement>
      <add address="*" maxconnection="1024"/>
</connectionManagement>

【讨论】:

以上是关于SQL 2008 R2 - Reporting Services,通过 Internet 使用带有 Report Builder 3 的数据模型导致崩溃,有啥想法吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 IE 中查看 Reporting Services 报表不会在某些机器上呈现报表

SQL Server Reporting Services 报告在使用 IP 地址时提示我输入凭据

SQL Server Reporting Services 2008 报表生成器用户访问权限

SQL Server 2008 R2 / s-s-rS 2008:服务水平报告创建

安装sqlserver2008r2 服务器配置,服务帐户配置出错,提示Sql server服务指定的凭据无效

获取每个月的第一个日期 SQL Server 2008 R2