【问题标题】:How to download "RDL report files" from SQL Report server 2008 programatically如何以编程方式从 SQL Report server 2008 下载“RDL 报告文件”
【发布时间】:2015-09-21 13:53:18
【问题描述】:

如何以编程方式从 SQL Report Server 2008 (vb.net) 下载“RDL 报告文件”。

我只需要一键下载所有报告并上传回来。这可能吗?

【问题讨论】:

  • 出于好奇,为什么?这有什么作用?您是否以编程方式编辑文件,然后将它们推送回数据库?
  • 另外,您是否尝试过任何方法或发现任何迹象表明这在 SQL Server 2008 中是可能的?

标签: vb.net reporting-services rdlc rdl


【解决方案1】:

有几次,我使用了一个名为 SSRSExtractor(开源)的程序。它可在 CodeProject.com http://www.codeproject.com/Articles/339744/SSRS-Downloading-RDL-Files

上找到

【讨论】:

    【解决方案2】:

    我之前也有一些代码可以从 ssrs 服务器下载报告

    public void SaveAdhocReportsToFile()
        {
            string inputPath = "Reports";
            string outPutDir = "D:\\Reports\\";
            ExportListItemToFiles("/" + inputPath, ".rdl", outPutDir, ItemType.Report);
        }
    
    private void ExportListItemToFiles(string inputPath, string fileExtension, string outPutFolder, string itemType)
        {
            try
            {
                Console.WriteLine("Exporting " + itemType + " from SSRS - folder " + inputPath + " to " + outPutFolder);
    
                string outPutFile = string.Empty;
                List<CatalogItem> items = ReportService.ListChildren(inputPath, false).Where(x => x.TypeName == itemType).ToList();
    
    
                foreach (CatalogItem item in items)
                {
                    byte[] rpt_def = null;
                    XmlDocument doc = new XmlDocument();
    
                    rpt_def = ReportService.GetItemDefinition(item.Path);
                    MemoryStream stream = new MemoryStream(rpt_def);
    
                    outPutFile = string.Format(@"{0}{1}" + fileExtension, outPutFolder, item.Name);
    
                    if (File.Exists(outPutFile))
                        File.Delete(outPutFile);
    
                    doc.Load(stream);
                    doc.Save(outPutFile);
                }
            }
            catch (SoapException ex)
            {
                throw new Exception(ex.Message);
            }
        }
    

    可以参考ReportingService2010方法:https://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010_methods%28v=sql.120%29.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多