2

SQL ReportingWindows Azure 组件从旧门户迁移到新的 html 5 的过程中,将文件夹层次结构限制为 2 级深度(如本文所示)。

然而,文章确实指出,现有的报告服务仍然可以有更深的层次结构;而商业智能开发工作室仍然允许您部署到子文件夹。

我们保留了我们的层次结构,如下所示:

  • 根级别
    • 客户报告
    • 内部报告
      • 报告类别 1
        • 数据源
        • 报告1.rdl
        • 报告2.rdl
      • 报告类别 2

由于我们拥有的报告数量众多,将每个文件夹都放在根级别是不可行的,到目前为止,层次结构仍然正常运行。

但是我们遇到了问题;我们不能再更新任何数据源或删除超过 2 级深度的报告。

SQL Reporting有没有一种方法可以通过 API、BIDS 或 Powershell 在门户外部管理我们的报告,而不是重新构建我们所有的报告以适应感觉极其限制性的结构?

4

1 回答 1

0

好的,所以我对此进行了一些研究;Windows Azure 上的 SQL 报告公开了ReportService2010 SOAP 接口,用于以编程方式管理报告。

使用通过WSDL 工具生成的代理,我们可以使用以下 C# 代码远程连接到 SQL Reporting:

var reportServiceUrl = 
    "https://X.reporting.windows.net/reportserver/reportservice2010.asmx?wsdl";
var serviceUsername = "AdminUserName;
var servicePassword = "AdminPassword";

var reportingService = new ReportingService2010
    {
        Url = reportServiceUrl,
        CookieContainer = new CookieContainer()
    };

 reportingService.LogonUser(serviceUsername, servicePassword, reportServiceUrl);

reportingService然后可以使用该对象上传、更新和删除 SQL 报告实例上的所有项目。例如,如果我想删除无法在 Windows Azure 门户上访问的子文件夹中的报告,我可以使用:

reportingService.DeleteItem("Internal Reports/Report Category 1/Report1.rdl");

那就是说;相反,将报告文件夹重构为 2 级层次结构要容易得多。我们最终使用的命名约定是:

  • 根级别
    • 内部报告 - 报告类别 1
      • 数据源
      • 报告1.rdl
      • 报告2.rdl
    • 内部报告 - 报告类别 2
于 2013-07-19T10:32:01.533 回答