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

vwoqyblh  于 7个月前  发布在  SQL Server
关注(0)|答案(1)|浏览(89)

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

piv4azn7

piv4azn71#

我最近刚刚将一个本地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))。
1.然后,必须使用SQL Reporting Services网页添加该用户,并在您希望他们查看其报表的报表目录上赋予“浏览”角色。这很重要。您可以在“管理文件夹”->“安全性”下找到它。
1.然后,在为IReportServerCredentials创建新的CustomReportCredentials时,使用该用户的用户名作为“username”字段,使用其密码作为“password”。
1.然后输入域名。对于本地帐户,它将是服务器(或PC)的名称,如“myReportServerHost”或其他。对于AD用户,它将是AD域名,如“myAD”或其他。这对我来说是最棘手的部分,显然对其他人也是基于其他文章。
所以,我们的结论是:
1.设置与内部报表服务器的混合连接。
1.实现IReportServerCredentials类(参见上面URL中的示例)。
1.设置适当的用户名、密码和域名。
1.将用户(如果尚未存在)添加到报表所在的报表服务器的报表目录中,并配置为至少具有浏览角色。
应该可以了

相关问题