当前环境
我在这里遇到了一些麻烦,我在一台服务器上安装了 Reporting Services,在另一台服务器上安装了 SQL Server 数据库引擎。
用户正在连接到报表管理器,该报表管理器显然指向安装了 Reporting Services 的服务器。
用户使用通用登录(报表服务器上的本地管理员帐户)连接到报表管理器。
但是当用户单击报告管理器上的报告生成器按钮时,它最初无法启动抱怨“应用程序无法检索文件。身份验证失败。”
经过大量研究,我发现,即使用户在连接到报告管理器时输入了本地帐户的凭据,但是当他们单击报告生成器按钮时,他们的 windows 帐户的凭据被拾取,因此 ClickOnce 应用程序无法验证用户身份并且无法启动。
Basic Authentication
我通过在 Reporting Server 上允许和Anonymous Authentication
在 Reports Builder 上允许来更改此行为。
现在,当用户单击Report Builder
而不是报告生成器时,它只是从当前用户 windows 帐户中选择凭据,它提示输入凭据,用户在报告服务器上传递本地管理员帐户的凭据,并且 ClickOnce 应用程序按预期下载。
问题
现在报表构建器启动正常,我可以右键单击设计器左窗格中的数据源文件夹,浏览可用的数据源,测试连接(显示测试成功)。但是,当我单击数据集并尝试添加新数据集时,它会引发错误,提示“身份验证失败,无法连接到数据源”。
即使在最后一步连接测试成功,但在这个阶段它失败了。
重要的提示
SQL Server 没有外部 IP,只能从报表服务器看到。这可能是连接失败的原因吗?
我的意思是报表生成器在启动时是否尝试获得与 SQL Server 的直接连接?
或者还有什么我错过的吗?
任何指针任何建议都非常感谢,谢谢。
经过大量的挖掘,我没有得到任何结果,然后最终我让微软参与进来帮助我解决这个问题。
MS 解决方案架构师确认报表生成器在启动时需要直接连接到 SQL Server,因此在报表生成器中处理数据集失败。显然这是 BY DESIGN 并且不会改变。
这是在 SQL Server 2008 R2 中,但对于 SQL Server 2012、2014 和 2016 也是如此。不确定 2017 年,但我非常怀疑 2017 年是否发生了变化。
我们最终在 DMZ 的网络上为客户提供了一台机器,最终用户远程连接到该机器上,只是为了与 Report builder 一起工作,这是一个糟糕的解决方案,但它当时有效,我们当时需要快速修复它.
将存储库迁移到备用服务器后,我遇到了这个问题。解决方法是进入每个报告和数据源的单独连接配置,并输入专用服务(本地管理员)帐户并保存凭据。
这样,本地管理员总是访问项目而不是用户,但这是一个混乱且耗时的解决方法。
我从昨天才遇到这个问题,并通过以下步骤解决了这个问题
1 - 进入问题所在的报告服务器。
7 - 单击确定并关闭报表生成器
8 - 尝试打开您的报告。
它对我有用,希望它对你有用。