powershell - PowerShell 可以编写 SQL Server Reporting Services RDL 文件的脚本吗?

标签 powershell reporting-services reporting service

是否可以使用 PowerShell 在 SQL Server 2008 中编写 SQL Server Reporting Services rdl 文件的脚本?如果是这样,有人可以提供这样做的代码示例吗?这将是使用 3rd 方工具编写由我的商业智能部门以外的业务用户创建的 RDL 文件的有用替代品。

术语“脚本输出”的澄清

通过“脚本输出”,我的意思是我想为服务器上的每个报告自动生成底层 RDL 文件。例如,当您在 BIDS 中编写报告时,您正在生成一个 RDL 文件。将文件部署到服务器时,该文件会以某种方式导入 SQL Server ReportServer 数据库,并且不再是单独的物理 RDL 文件。我想以 RDL 文件格式从服务器中提取所有报告。

我使用 RSScripter 工具将报告提取为 RDL 文件,因此我知道可以使用 PowerShell 以外的工具。我特别想知道是否可以使用 PowerShell 执行此操作,如果可以,请获取执行此操作的代码示例。

澄清我为什么要生成 RDL 版本的报告

为什么将报告“脚本化”到 RDL 文件中很重要?我想每晚将 RDL 文件 checkin 我的源代码控制系统一次,以跟踪由我的商业智能部门以外的用户创建的所有报告。自从我们在 BIDS 中开发报告以来,我已经跟踪了我部门生成的所有报告,但我无法跟踪在线报告生成器工具中构建的报告的版本历史。

澄清为什么是 POWERSHELL 而不是其他东西

  • 好奇心。我有一个问题,我知道可以通过两种方法之一(API 或 RSSCripter)解决,我想知道它是否可以通过第三种方法解决。
  • 有机会通过 PowerShell 扩展我的问题解决工具。使用 PowerShell 解决这个问题可能为学习如何使用 PowerShell 解决我尚未尝试解决的其他问题提供基础。
  • PowerShell 对我和我的团队来说更容易理解。一般来说,我和我的团队成员可以比 .NET 代码更容易理解 PowerShell 代码。虽然我知道这个问题可以通过使用 API 的一些 .NET 代码来解决(毕竟 RSScripter 就是这样工作的),但我觉得我们编写和维护 PowerShell 脚本会更容易。我也意识到 PowerShell 脚本可能会使用 .NET 代码,但我希望 PowerShell 已经能够以某种方式将报告视为对象,这样我就不必使用 Reporting Services API 来提取文件。
  • RSScripter 尚不支持 2008。过去,我使用 RSScript 编写报告脚本。不幸的是,它似乎还不支持 2008。这意味着我现在必须针对 API 编写代码,因为这是我目前知道如何以自动无人值守的方式提取文件的唯一方法。
  • 最佳答案

    有点晚了,但是你去吧

    这个 PowerShell 脚本:
    1. 连接到您的报表服务器
    2. 创建与报表服务器中相同的文件夹结构
    3. 将所有 SSRS 报告定义 (RDL) 文件下载到各自的文件夹中

    https://sqlbelle.wordpress.com/2011/03/28/how-to-download-all-your-ssrs-report-definitions-rdl-files-using-powershell/

    关于powershell - PowerShell 可以编写 SQL Server Reporting Services RDL 文件的脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/409507/

    相关文章:

    powershell - 如何扩展(插入)字符串中的数组元素

    powershell - 无法使用 powershell 为 Web 角色启用诊断

    reporting-services - 如何获取文件名中的当前日期?

    excel - 如何将多个西门子PLC的数据导入Excel?

    reporting-services - 在 IIF 表达式中将字符串转换为 DateTime

    asp.net - .NET (asp mvc) 的快速、简单和轻便的报告系统?

    powershell - 在 Powershell 中运行 Access 宏

    powershell - 将目录的父目录与where管道中的另一个目录进行比较

    sql-server - 报表服务器无法验证加密数据的完整性

    sql-server-2008 - 部署报告本地 URL 不起作用