zoukankan      html  css  js  c++  java
  • 批量上传报表的工具

    很多朋友都用过reporting service,以及使用有关工具制作报表(文件格式为rdl),通常情况下,这些报表需要部署到报表服务器,然后再统一访问。当报表比较多的时候,我们自然而然地会想,是否有什么方法批量上传报表么?答案是肯定的。

    第一种方式,可以使用reporting service自带的一个rs的工具,通过提供一个脚本文件(扩展名为rss),就可以实现该需求。微软提供了一个范例如下

    C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Script Samples\PublishSampleReports.rss

    大致的脚本和使用方式如下

    可以看出,这些所谓的脚本是用VB.NET编写的。其实就是.NET编程,但因为它是所谓脚本的方式,反倒有些地方不是很自然了。例如代码中的rs在哪里定义的,是什么类型呢?我的理解是这个rs其实就是指向了reporting service所提供的那些web service。但是的确有点费解。

    批量上传报表的脚本

     

    第二种方式,自己编写一个工具来完成更加丰富的控制。这里可以用任何的语言,只要你熟悉即可。

    这里的关键在于,添加对reporting service的web service的引用。下面是它所有的方法

    "ReportingService2005" 说明

    文档

    The Reporting Services Web Service enables you to manage a report server and its contents including server settings, security, reports, subscriptions, and data sources.

    方法

    • CancelBatch ( )
    • CancelJob ( JobID As string ) As boolean
    • CreateBatch ( ) As string
    • CreateDataDrivenSubscription ( Report As string ,  ExtensionSettings As ExtensionSettings ,  DataRetrievalPlan As DataRetrievalPlan ,  Description As string ,  EventType As string ,  MatchData As string ,  Parameters As ArrayOfParameterValueOrFieldReference ) As string
    • CreateDataSource ( DataSource As string ,  Parent As string ,  Overwrite As boolean ,  Definition As DataSourceDefinition ,  Properties As ArrayOfProperty )
    • CreateFolder ( Folder As string ,  Parent As string ,  Properties As ArrayOfProperty )
    • CreateLinkedReport ( Report As string ,  Parent As string ,  Link As string ,  Properties As ArrayOfProperty )
    • CreateModel ( Model As string ,  Parent As string ,  Definition As base64Binary ,  Properties As ArrayOfProperty ) As ArrayOfWarning
    • CreateReport ( Report As string ,  Parent As string ,  Overwrite As boolean ,  Definition As base64Binary ,  Properties As ArrayOfProperty ) As ArrayOfWarning
    • CreateReportHistorySnapshot ( Report As string ) As string
    • CreateResource ( Resource As string ,  Parent As string ,  Overwrite As boolean ,  Contents As base64Binary ,  MimeType As string ,  Properties As ArrayOfProperty )
    • CreateRole ( Name As string ,  Description As string ,  Tasks As ArrayOfTask )
    • CreateSchedule ( Name As string ,  ScheduleDefinition As ScheduleDefinition ) As string
    • CreateSubscription ( Report As string ,  ExtensionSettings As ExtensionSettings ,  Description As string ,  EventType As string ,  MatchData As string ,  Parameters As ArrayOfParameterValue ) As string
    • DeleteItem ( Item As string )
    • DeleteReportHistorySnapshot ( Report As string ,  HistoryID As string )
    • DeleteRole ( Name As string )
    • DeleteSchedule ( ScheduleID As string )
    • DeleteSubscription ( SubscriptionID As string )
    • DisableDataSource ( DataSource As string )
    • EnableDataSource ( DataSource As string )
    • ExecuteBatch ( )
    • FindItems ( Folder As string ,  BooleanOperator As BooleanOperatorEnum ,  Conditions As ArrayOfSearchCondition ) As ArrayOfCatalogItem
    • FireEvent ( EventType As string ,  EventData As string )
    • FlushCache ( Report As string )
    • GenerateModel ( DataSource As string ,  Model As string ,  Parent As string ,  Properties As ArrayOfProperty ) As ArrayOfWarning
    • GetCacheOptions ( Report As string ) As boolean
    • GetDataDrivenSubscriptionProperties ( DataDrivenSubscriptionID As string ) As string
    • GetDataSourceContents ( DataSource As string ) As DataSourceDefinition
    • GetExecutionOptions ( Report As string ) As ExecutionSettingEnum
    • GetExtensionSettings ( Extension As string ) As ArrayOfExtensionParameter
    • GetItemDataSourcePrompts ( Item As string ) As ArrayOfDataSourcePrompt
    • GetItemDataSources ( Item As string ) As ArrayOfDataSource
    • GetItemType ( Item As string ) As ItemTypeEnum
    • GetModelDefinition ( Model As string ) As base64Binary
    • GetModelItemPermissions ( Model As string ,  ModelItemID As string ) As ArrayOfString
    • GetModelItemPolicies ( Model As string ,  ModelItemID As string ) As ArrayOfPolicy
    • GetPermissions ( Item As string ) As ArrayOfString3
    • GetPolicies ( Item As string ) As ArrayOfPolicy
    • GetProperties ( Item As string ,  Properties As ArrayOfProperty ) As ArrayOfProperty
    • GetRenderResource ( Format As string ,  DeviceInfo As string ) As base64Binary
    • GetReportDefinition ( Report As string ) As base64Binary
    • GetReportHistoryLimit ( Report As string ) As int
    • GetReportHistoryOptions ( Report As string ) As boolean
    • GetReportLink ( Report As string ) As string
    • GetReportParameters ( Report As string ,  HistoryID As string ,  ForRendering As boolean ,  Values As ArrayOfParameterValue ,  Credentials As ArrayOfDataSourceCredentials ) As ArrayOfReportParameter
    • GetResourceContents ( Resource As string ) As base64Binary
    • GetRoleProperties ( Name As string ) As ArrayOfTask
    • GetScheduleProperties ( ScheduleID As string ) As Schedule
    • GetSubscriptionProperties ( SubscriptionID As string ) As string
    • GetSystemPermissions ( ) As ArrayOfString3
    • GetSystemPolicies ( ) As ArrayOfPolicy
    • GetSystemProperties ( Properties As ArrayOfProperty ) As ArrayOfProperty
    • GetUserModel ( Model As string ,  Perspective As string ) As base64Binary
    • InheritModelItemParentSecurity ( Model As string ,  ModelItemID As string )
    • InheritParentSecurity ( Item As string )
    • ListChildren ( Item As string ,  Recursive As boolean ) As ArrayOfCatalogItem
    • ListDependentItems ( Item As string ) As ArrayOfCatalogItem
    • ListEvents ( ) As ArrayOfEvent
    • ListExtensions ( ExtensionType As ExtensionTypeEnum ) As ArrayOfExtension
    • ListJobs ( ) As ArrayOfJob
    • ListModelDrillthroughReports ( Model As string ,  ModelItemID As string ) As ArrayOfModelDrillthroughReport
    • ListModelItemChildren ( Model As string ,  ModelItemID As string ,  Recursive As boolean ) As ArrayOfModelItem
    • ListModelPerspectives ( Model As string ) As ArrayOfModelCatalogItem
    • ListReportHistory ( Report As string ) As ArrayOfReportHistorySnapshot
    • ListRoles ( SecurityScope As SecurityScopeEnum ) As ArrayOfRole
    • ListScheduledReports ( ScheduleID As string ) As ArrayOfCatalogItem
    • ListSchedules ( ) As ArrayOfSchedule
    • ListSecureMethods ( ) As ArrayOfString
    • ListSubscriptions ( Report As string ,  Owner As string ) As ArrayOfSubscription
    • ListSubscriptionsUsingDataSource ( DataSource As string ) As ArrayOfSubscription
    • ListTasks ( SecurityScope As SecurityScopeEnum ) As ArrayOfTask
    • Logoff ( )
    • LogonUser ( userName As string ,  password As string ,  authority As string )
    • MoveItem ( Item As string ,  Target As string )
    • PauseSchedule ( ScheduleID As string )
    • PrepareQuery ( DataSource As DataSource ,  DataSet As DataSetDefinition ) As DataSetDefinition
    • RegenerateModel ( Model As string ) As ArrayOfWarning
    • RemoveAllModelItemPolicies ( Model As string )
    • ResumeSchedule ( ScheduleID As string )
    • SetCacheOptions ( Report As string ,  CacheReport As boolean )
    • SetDataDrivenSubscriptionProperties ( DataDrivenSubscriptionID As string ,  ExtensionSettings As ExtensionSettings ,  DataRetrievalPlan As DataRetrievalPlan ,  Description As string ,  EventType As string ,  MatchData As string ,  Parameters As ArrayOfParameterValueOrFieldReference )
    • SetDataSourceContents ( DataSource As string ,  Definition As DataSourceDefinition )
    • SetExecutionOptions ( Report As string ,  ExecutionSetting As ExecutionSettingEnum )
    • SetItemDataSources ( Item As string ,  DataSources As ArrayOfDataSource )
    • SetModelDefinition ( Model As string ,  Definition As base64Binary ) As ArrayOfWarning
    • SetModelDrillthroughReports ( Model As string ,  ModelItemID As string ,  Reports As ArrayOfModelDrillthroughReport )
    • SetModelItemPolicies ( Model As string ,  ModelItemID As string ,  Policies As ArrayOfPolicy )
    • SetPolicies ( Item As string ,  Policies As ArrayOfPolicy )
    • SetProperties ( Item As string ,  Properties As ArrayOfProperty )
    • SetReportDefinition ( Report As string ,  Definition As base64Binary ) As ArrayOfWarning
    • SetReportHistoryLimit ( Report As string ,  UseSystem As boolean ,  HistoryLimit As int )
    • SetReportHistoryOptions ( Report As string ,  EnableManualSnapshotCreation As boolean ,  KeepExecutionSnapshots As boolean )
    • SetReportLink ( Report As string ,  Link As string )
    • SetReportParameters ( Report As string ,  Parameters As ArrayOfReportParameter )
    • SetResourceContents ( Resource As string ,  Contents As base64Binary ,  MimeType As string )
    • SetRoleProperties ( Name As string ,  Description As string ,  Tasks As ArrayOfTask )
    • SetScheduleProperties ( Name As string ,  ScheduleID As string ,  ScheduleDefinition As ScheduleDefinition )
    • SetSubscriptionProperties ( SubscriptionID As string ,  ExtensionSettings As ExtensionSettings ,  Description As string ,  EventType As string ,  MatchData As string ,  Parameters As ArrayOfParameterValue )
    • SetSystemPolicies ( Policies As ArrayOfPolicy )
    • SetSystemProperties ( Properties As ArrayOfProperty )
    • UpdateReportExecutionSnapshot ( Report As string )
    • ValidateExtensionSettings ( Extension As string ,  ParameterValues As ArrayOfParameterValueOrFieldReference ) As ArrayOfExtensionParameter

     

    最后我开发的一个自己使用的小工具,如图所示。

    未命名

    该工具可以对一个目录下,所有报表以及数据源进行上传(可以递归子文件夹),同时整个程序是多线程的。

  • 相关阅读:
    516. Longest Palindromic Subsequence最长的不连续回文串的长度
    java之spring之整合ssh-2
    java之spring之整合ssh
    java之spring之spring整合hibernate
    微服务之初了解(一)
    java之spring之scope和autowiring
    java之spring之依赖注入
    java之spring之对象的创建
    java之spring之配置讲解
    asp.net core 系列之静态文件
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1251614.html
Copyright © 2011-2022 走看看