最近我一直在使用 rs.exe 进行报表部署。有http状态401:未授权阻止我。我做了什么
- 在 Windows Server 2008 vm 机器上安装了 sql server 2012 和 report server 2008
- 使用参数 a 配置报表服务器。使用内置帐户:网络服务 b. 对于 Web 服务 URL,IP 地址:All Assigned,端口:80,URL 为 http://:80/ReportServer c. 与经理 URL 相同的设置,它是 http://:80/Reports
- 为了测试,我关闭了防火墙,删除了 IIS 中的默认站点。
- 创建了一个示例报告
- 使用调用 rs.exe 的批处理文件部署它
我看到的第一个问题。在第 2 步之后,我在 Reporting Service Configuration Manager 中单击了 Web 服务 URL 或管理器 URL 的测试链接。结果是
“错误
所请求的网址无法检索
尝试检索 URL 时遇到以下错误:http://..com/Reports
无法从主机名 ..com 确定 IP 地址 DNS 服务器返回:
名称错误:域名不存在。……”
我不确定为什么以及如何将 .com 附加到域名。
第二个问题是我在本地运行了以下命令行
rs.exe -i PublishSampleReports.rss -s http://localhost:80/ReportServer -e Mgmt2010 -v reportName=<MyReportName> -t
该命令运行良好,可以部署报告。但是,如果我使用 IP 地址替换 localhost,并使用用户名和密码,我会得到 http 状态 401:未经授权的问题。例如,
rs.exe -i PublishSampleReports.rss -s http://<xxx.xxx.xx.xx>:80/ReportServer -u <username> -p <password> -e Mgmt2010 -v reportName=<MyReportName> -t
同时,当我使用“localhost”时,我可以在 http 日志文件中看到客户端 ip 和用户名。另一方面,当我使用 ip 地址时,日志文件中没有这样的 ip 和用户名。我可以使用 localhost 和 IP 地址通过 Web 浏览器访问报表 Web 服务。我不确定为什么那里有未经授权的问题?请你们告诉我我错过了什么?