Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Visual Studio for SSRS 2008-如何在解决方案资源管理器中将报告组织到子文件夹中?_Sql_Visual Studio_Visual Studio 2008_Reporting Services_Ssrs 2008 - Fatal编程技术网

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

Sql Visual Studio for SSRS 2008-如何在解决方案资源管理器中将报告组织到子文件夹中?,sql,visual-studio,visual-studio-2008,reporting-services,ssrs-2008,Sql,Visual Studio,Visual Studio 2008,Reporting Services,Ssrs 2008,现在我有一个名为reports的项目,其中包含多个报告。在解决方案资源管理器中,它如下所示: Shared Data Sources -- DEV Reports -- Report1 -- Report2 -- Report3 我想让它看起来像这样,并在单击deploy时将相同的结构带入报表管理器网站 Shared Data Sources -- DEV Folder A -- Report1 Folder B -- Report2 -- Report3 有人知道怎么做吗

现在我有一个名为reports的项目,其中包含多个报告。在解决方案资源管理器中,它如下所示:

Shared Data Sources
 -- DEV
Reports
 -- Report1
 -- Report2
 -- Report3
我想让它看起来像这样,并在单击deploy时将相同的结构带入报表管理器网站

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

有人知道怎么做吗

我在SSRS2008中有一个BI项目,大约有80个报告——这是我将报告部署到文件夹中的经验。这是我第一次涉足Reporting Services的开发领域,所以如果我出去吃午饭,请各位专家打我一巴掌

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

据我所知,在SSRS中创建文件夹结构的唯一方法是使用报表管理器UI并在报表服务器上创建文件夹。我假设您将从此处修改VisualStudio中报表属性中的路径。或者,您必须在首次设置报告时定义路径。我还没有测试过这么多

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

我使用的是SSRS 2005-我认为这一部分的工作方式与2008年相同

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

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

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

(设置新报表项目还有其他方法,但这似乎是最快的方法。)

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

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

因此,要获取您想要查看的报表管理器结构,请执行以下操作:

  • 创建名为文件夹A和文件夹B的项目
  • 将Report1移动/复制到项目文件夹A的Reports文件夹中
  • 将Report2和Report3移动/复制到项目文件夹B的Reports文件夹中
  • 将数据源开发人员移动/复制到项目文件夹A和文件夹B中的共享数据源文件夹中
  • 部署您的报告

别忘了检查对源代码管理的更改。

与其他海报类似,我有一个包含多个项目的解决方案(每个项目都命名并放入我希望它部署在的同一文件夹名下)

然后我在RS中编写了一个脚本:
-在我的例子中,创建所有报表使用的单个数据源
-循环浏览解决方案文件夹中的所有目录
--在RS服务器上创建相同的文件夹名称
--将此目录中的所有文件部署到RS服务器上的该文件夹
--在每个报表上使用rs.SetItemDataSources将其重定向到我的主数据源

基本上就是这样

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


这样做,我有一个脚本,但可以在多个不同的父文件夹下部署一个结构,每个父文件夹具有不同的数据源,并使文件夹中的所有报告从不同的数据库绘制数据。这使我可以运行1x RS实例,但有开发、测试、培训等区域。

您可以将文件放在磁盘/源代码管理上的单独文件夹中,但它们在Visual Studio中按字母顺序排列


我看不到管理上述内容的用户界面,但如果编辑项目文件(VS解决方案的单个项目文件),则可以指定每个报告文件的完整路径XML标记

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

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

Visual Studio 2008 项目({F14B399A-7131-4C87-9E4B-1186C45EF12D})=“RestOfWorld”、“RestOfWorld\RestOfWorld.rptproj”、“D24D5EEA-88A4-4375-802B-7CA877202787}” 末端工程

项目({F14B399A-7131-4C87-9E4B-1186C45EF12D})=“北美”、“北美\北美.rptproj”、“{C64A3BDC-F526-4037-AD48-31799BECC3AD}” 末端工程
Global

@skiwii是正确的,使用VS 2013 Community edition和SQL数据工具--Business Intelligence,您在VS解决方案资源管理器中看不到树顶部的解决方案节点,您必须破解.SLN文件才能将其公开

  • 从源代码树中所需的master.sln和一个.rptproj文件开始。称之为“家长”
  • 在新的子文件夹中创建全新的空Report Services.rptproj文件