我托管了一个 ASP.Net 应用程序,它与本地 SSRS 报告连接。应用程序在本地工作时连接正常,但当我在 azure 上发布时,它无法连接到 SSRS。 我已为本地 SSRS(SQL Server Reporting Services)创建了 Azure 混合连接,但仍然无法到达 SSRS 服务器。有什么想法吗?
我已为本地 SSRS(SQL Server Reporting Services)创建了 Azure 混合连接,但仍未到达 SSRS 服务器。有什么想法吗?
我最近刚刚部署了一个本地 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.
注意:直接跳到代码并使用它作为示例。
实施该课程后,请执行以下操作:
首先您必须有一个用户,该用户也可以是托管报表服务器的服务器上的本地用户帐户,或者如果使用 Active Directory (AD),则可以是域用户帐户。
然后,必须使用 SQL Reporting Services 网页添加该用户,并在您希望他们查看报表的报表目录上赋予该用户“浏览”角色。这个很重要。您可以在“管理文件夹”->“安全”下找到它。
然后,在创建为 IReportServerCredentials 实现的新 CustomReportCredentials 时,您可以使用该用户的用户名作为“用户名”字段,使用他们的密码作为“密码”。
然后输入域名。对于本地帐户,它将是服务器(或 PC)名称,例如“myReportServerHost”或其他名称。对于 AD 用户来说,它将是 AD 域名,例如“myAD”或其他名称。这对我来说是最棘手的部分,显然对于其他人来说也是如此,基于其他文章。
所以要点是:
应该可以了。