none
【SSRS】请问放到SSRS服务器上的rdl文件的真实位置? RRS feed

  • 问题

  • SSRS 2008 R2

    架设好报表服务器后,可以通过http://xxx/reports页面把rdl报表上传上去,那么在文件系统层面,该rdl文件在什么地方呢?

    2012年8月7日 1:46

答案

  • 我说的是不在文件系统,在表里面(你怎么还去找文件位置呢?)

    Content 就是你的 报表文件的内容,你把它读出来写成文件就行了(其实就是一个xml的数据,所以我的查询里面有个转 xml 的操作,方便像直接看)

    • 已标记为答案 ahdung_AI 2012年8月7日 3:43
    2012年8月7日 3:05

全部回复

  • 还有,明明有叫【SQL Server Reporting Services, Power View】的版块http://social.msdn.microsoft.com/Forums/zh-CN/sqlreportingservices/threads,但却不能把帖子发到里面,求明示~
    2012年8月7日 1:48
  • 这个在ReportService配置的数据库对应的表里面

    (数据库默认为ReportServer,可以用下面的语句查一下)

    SELECT 
    	Path, Name, Description,
    	Content = CONVERT(xml, CONVERT(varbinary(max), Content))
    FROM ReportServer.dbo.Catalog WITH(NOLOCK)
    WHERE type = 2
    

    2012年8月7日 2:41
  • 还真看不出来,Description字段是NULL,Content则是报表的内容,还是没能找出rdl文件所在位置
    2012年8月7日 3:02
  • 我说的是不在文件系统,在表里面(你怎么还去找文件位置呢?)

    Content 就是你的 报表文件的内容,你把它读出来写成文件就行了(其实就是一个xml的数据,所以我的查询里面有个转 xml 的操作,方便像直接看)

    • 已标记为答案 ahdung_AI 2012年8月7日 3:43
    2012年8月7日 3:05
  • 的确是,转换为xml的Content就是rdl文件的内容(除了Content不带<?xml version="1.0" encoding="utf-8"?>申明)。

    那是不是可以这样说:rdl报表本来就不是以文件的形式存放在服务器上的,而是将rdl的内容(xml)以image数据格式存储在库表里,是吧,这样的话我就理解了。

    btw:MS不是说要弃用image格式么,但自家的表都还在使用,如何给用户做表率


    2012年8月7日 3:38
  • rdl只是定义了报表的格式,真正的数据是放在reportserver这个数据库里面,你设计好rdl之后,可以把那个文件存放在任何硬盘的任何位置。

    然后用代码指定rdl文件的位置从reportserver取数据加载到rdl文件里面,就呈现出报表拉

      private void FrmRdlcUserGuide_Load(object sender, EventArgs e)
            {
                this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
                this.reportViewer1.LocalReport.ReportPath = "rdlcuserguide.rdlc";
                this.reportViewer1.RefreshReport();
            }


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 12:04
  • 桦仔你说的我知道,我还不至于分不清数据和报表的关系。有一点你可能也错了,就是真正的数据其实是存放在业务库里面,而不是ReportServer库。

    其实之所以有这个问题,是因为我想备份设计好的rdl报表,担心服务器崩了我得重新设计报表,所以我想当然以为rdl报表是以形似xxx.rdl的文件存储在某个路径下,邹建的回答让我明白,rdl报表在服务器上并不是以实体文件的方式存在,而是作为SQL image格式存储在库表中,这样的话,我只要备份ReportServer库就能达到备份报表的目的。

    PS:你给的示例是Local方式,所以需要实体rdl文件,我用的是Server方式

    2012年8月16日 15:25
  • 我印象中报表好像存储在catalog这个表中


    给我写信: QQ我:点击这里给我发消息

    2012年8月16日 15:45