代码之家  ›  专栏  ›  技术社区  ›  Greg

Visual Studio for SSRS 2008-如何在解决方案资源管理器中将报表组织到子文件夹中?

  •  28
  • Greg  · 技术社区  · 15 年前

    现在我有一个叫做reports的项目。在解决方案资源管理器中,如下所示:

    Shared Data Sources
     -- DEV
    Reports
     -- Report1
     -- Report2
     -- Report3
    

    我想让它看起来像这样,并在单击deploy时将相同的结构传递到报表管理器网站。

    Shared Data Sources
     -- DEV
    Folder A
     -- Report1
    Folder B
     -- Report2
     -- Report3
    

    有人知道怎么做吗?

    7 回复  |  直到 15 年前
        1
  •  30
  •   user359040 user359040    15 年前

    我用的是ssrs2005-I 这一部分的工作原理与2008年相同。

    据我所知,项目中不能有文件夹,但是 可以 在一个解决方案中有多个项目。

    要创建新文件夹,请在解决方案资源管理器中右键单击解决方案,然后选择“添加”>新建项目。。。

    键入新的项目名称(例如MyProject),然后从visualstudio安装的模板列表中选择reportserverproject。单击OK,您的新项目将出现在解决方案资源管理器中项目列表的末尾。

    如果现在右键单击新报表项目并选择“属性”,则可以看到TargetReportFolder,它将默认为新项目名称(例如MyProject)。当您部署来自ssr的报告时,它们将部署到此位置(如果您愿意,您可以更改位置—我发现使用项目名称更容易跟踪要去的地方。)

    您需要将每个项目中要使用的任何数据源复制到使用该数据源的所有项目的“数据源”文件夹中。默认情况下,OverwriteDataSources设置为false,因此在部署新报表时,它将使用已部署到报表管理器环境的数据源。

    因此,要获取您想要查看的报表管理器结构:

    • 将Report1移动/复制到项目文件夹A的Reports文件夹中
    • 将Report2和Report3移动/复制到项目文件夹B的Reports文件夹中
    • 将数据源DEV移动/复制到项目文件夹A和文件夹B中的共享数据源文件夹中
    • 部署报表

    别忘了将更改签入源代码管理。

        2
  •  4
  •   Cody Konior    15 年前

    这样做的方式类似于其他海报,我有一个解决方案与多个项目(每个项目的名称和放入相同的文件夹名称,我希望它部署在)。


    -在我的例子中,创建一个供所有报表使用的数据源
    -在解决方案文件夹中的所有目录中循环
    --在RS服务器上创建相同的文件夹名
    --将此目录中的所有文件部署到RS服务器上的该文件夹

    基本上就是这样。

    需要注意的是,有时你会上传一些你不想上传的文件(比如被删除的报告,还有.rdl文件)。但你可以围绕着它编写脚本,或者干脆用RS把它吹走,然后重新上传。

    这样做,我有一个脚本,但可以在许多不同的父文件夹下部署一个结构,每个文件夹都有不同的数据源,并让文件夹中的所有报表从不同的数据库中绘制数据。这让我可以运行1XRS实例,但有开发、测试、培训等方面。

        3
  •  3
  •   ErikZ    8 年前

    我们通过SSRS中的链接报告来管理这一点。我们将报表部署到对用户隐藏的报表分发文件夹中,然后在ReportingServicesWebUI(每个报表的管理部分中的一个选项)中创建链接报表。您可以在任何文件夹中创建链接报表,以便构建所需的文件夹结构,并将链接报表放置在适当的位置。

    您可以从VS将所有内容部署到单个distrib文件夹,并更新链接的报告。这解决了子报表和数据源问题,因为所有报表都“从”distrib文件夹运行。显然,前面有很多设置,创建一个新的环境是一件麻烦的事——这种情况很少发生,我们还没有尝试将其自动化。

        4
  •  2
  •   kkeilman    15 年前

    最初,我在源代码管理中使用文件夹按部门分隔较小的报表,以帮助我保持组织。在我最初开发报表时,这种方法工作得很好,但是当我第一次将项目部署到报表服务器时,结构完全扁平化了,所以我放弃了使用文件夹结构来组织。

    总之:不可能在BIDS中创建文件夹,也不可能使用IDE将报表部署到文件夹中。我希望在2008R2中解决这个问题,因为在解决方案资源管理器中把所有这些报告放在一起是一种痛苦。

        5
  •  1
  •   Rez.Net    12 年前

    您可以将这些文件放在磁盘/源代码管理上的不同文件夹中,但是它们在visualstudio中是按字母顺序排列的。

        6
  •  0
  •   skiwii    11 年前

    我创建了一个报表服务器类型的项目,没有添加其他项目的选项。相反,我编辑了SLN文件并添加了我的其他项目。SLN文件的第一部分最后看起来是这样的,将我的2个子文件夹中的项目访问到SLN文件

    Microsoft Visual Studio解决方案文件,格式版本10.00

    Visual Studio 2008

    Project(“{F14B399A-7131-4C87-9E4B-1186C45EF12D}”)=“RestOfWorld”,“RestOfWorld\RestOfWorld.rptproj”,“{D24D5EEA-88A4-4375-802B-7CA877202787}” 结束项目

    Project(“{F14B399A-7131-4C87-9E4B-1186C45EF12D}”)=“北美”,“北美\北美.rptproj”,“{C64A3BDC-F526-4037-AD48-31799BECC3AD}” 结束项目

        7
  •  0
  •   BobHy    9 年前

    @skiwii是正确的,VS2013社区版和SQL数据工具——商业智能,你知道

    1. 从源代码树中所需的master.sln和一个.rptproj文件开始。称之为“父母”。
    2. 在新的子文件夹(在包含.sln的文件夹下)中创建一个全新的空Report Services.rptproj文件。e、 g,项目是“child1”。VS还会在该文件夹中为您提供child1.sln文件。
    3. 使用您最喜爱的文本编辑器(teco!)
      1. 复制顶部的2行;项目。。。和结束项目
    4. 现在在VS中打开parent1.sln。您将神奇地看到解决方案资源管理器窗口顶部的解决方案节点。

    如果你很幸运的话,你还会看到第二个叫做child1的项目。但如果没有,没问题。您只需右键单击解决方案并添加ReportServices类型的新项目。