SSSRS 2008 R2
我的BIDS项目有一些报告,但这些报告引用了大量子报告。如何将所有子报表移动到自己的文件夹中并在主报表的正文中引用它们?
我尝试创建一个文件夹并手动将子报告移动到其中。那没用。 BIDS找不到子报告,文件夹没有出现在项目结构中。
答案 0 :(得分:3)
这里的问题是BIDS希望所有子报表都与主报表位于同一文件夹中,您不能使用路径或子文件夹。
但是,当部署到报表服务器时,相对路径(例如/ SomeFolder / MyReport)将起作用,因此您可以将主报表更改为指向任何子文件夹或相对路径中的报表,这将在部署后生效。在BIDS中运行子报表时,您将无法在主报表中看到子报表。
答案 1 :(得分:1)
在Visual Studio中进行开发时,不能使用文件夹路径引用。如果这样做,您将收到错误消息“ 找不到文件路径的一部分”。
对于开发,您需要确保子报表位于项目中,然后使用下拉列表选择报表。开发完成后,需要更改主报告以引用正确的文件夹(/Sub reports/myReport.rdl
),并且子报告需要部署到正确的文件夹( /Sub reports
)。这意味着将有2个子报表的副本-MainReport项目中1个,SubReport项目中1个。不理想的是要保留两个副本,但是它可以工作。
此外,如果排除了第一个正斜杠(Sub reports/myReport.rdl
),则您的参考是在子文件夹中查找。以斜杠开头(/Sub reports/myReport.rdl
),您的参考路径从SSRS Web门户的根文件夹开始。
答案 2 :(得分:0)
如果有人多年后发现。我目前的解决方案是使用报表生成器打开报表。在该界面中,您可以将子报表设置为服务器上的相对路径以及与主父报表不同的文件夹路径。你似乎不能通过SSDT或BIDS做。
然后,您可以将主报告下载到SSDT并将其重新带回项目中。
要运行报告,您必须为项目Bin \ Debug文件夹中的报告设置报告管理器所具有的相同文件夹结构。如果您不这样做,那么要求该文件夹结构出现在那里会出错。
那个黑客对我有用。
答案 3 :(得分:0)
通过创建项目文件夹\ bin \ debug \ full \ subreport \ path
的符号链接,我找到了一个不错的解决方法详细信息和屏幕截图位于:http://www.andrewmosey.com/subreport-in-a-sub-folder-working-in-visual-studio-and-ssrs