适用于本地 SSRS(SQL Server Reporting Services)的 Azure 混合连接

问题描述 投票:0回答:1

我托管了一个 ASP.Net 应用程序,它与本地 SSRS 报告连接。应用程序在本地工作时连接正常,但当我在 azure 上发布时,它无法连接到 SSRS。 我已为本地 SSRS(SQL Server Reporting Services)创建了 Azure 混合连接,但仍然无法到达 SSRS 服务器。有什么想法吗?

我已为本地 SSRS(SQL Server Reporting Services)创建了 Azure 混合连接,但仍未到达 SSRS 服务器。有什么想法吗?

azure reporting-services ssrs-2012 azure-hybrid-connections
1个回答
0
投票

我最近刚刚部署了一个本地 Web 应用程序作为 Azure 应用程序服务。我创建了从本地数据库提取数据所需的混合连接。当我尝试查看从我们的本地报告服务器生成的报告时遇到了问题。起初我收到一条错误,指出无法访问报表服务器。通过为报表服务器本身添加额外的混合连接解决了这个问题。执行此操作后,我收到 401 错误 - 未授权。这是因为将生成的报告数据发送回 Azure 或除报告服务器之外的不同域中的任何 Web 服务器时涉及双跃点。

为了解决此问题,您必须执行以下操作:

实现 IReportServerCredentials 类。这是一个很好的例子:https://learn.microsoft.com/en-us/answers/questions/1285143/how-send-credentials-using-reportviewerformvc?page=1&orderby=Helpful#answers.

注意:直接跳到代码并使用它作为示例。

实施该课程后,请执行以下操作:

  1. 首先您必须有一个用户,该用户也可以是托管报表服务器的服务器上的本地用户帐户,或者如果使用 Active Directory (AD),则可以是域用户帐户。

  2. 然后,必须使用 SQL Reporting Services 网页添加该用户,并在您希望他们查看报表的报表目录上赋予该用户“浏览”角色。这个很重要。您可以在“管理文件夹”->“安全”下找到它。

  3. 然后,在创建为 IReportServerCredentials 实现的新 CustomReportCredentials 时,您可以使用该用户的用户名作为“用户名”字段,使用他们的密码作为“密码”。

  4. 然后输入域名。对于本地帐户,它将是服务器(或 PC)名称,例如“myReportServerHost”或其他名称。对于 AD 用户来说,它将是 AD 域名,例如“myAD”或其他名称。这对我来说是最棘手的部分,显然对于其他人来说也是如此,基于其他文章。

所以要点是:

  1. 设置与本地报表服务器的混合连接。
  2. 实现 IReportServerCredentials 类(请参阅上面 URL 中的示例)。
  3. 设置适当的用户名、密码和域名。
  4. 将用户(如果尚不存在)添加到报表所在的报表服务器的报表目录中,并至少配置浏览角色。

应该可以了。

© www.soinside.com 2019 - 2024. All rights reserved.