January 24, 2011 at 10:08 am
At our location we have SSRS with multiple folders each with its own security via active directory groups. Due to the security groups and where users go to view their reports it has been asked if I could move a copy of the report to another folder....so it is the same report in two places. I know that if I pull up the rdl and set the deployment path to the other folder that will work, but I am wondering if there is an easier way? For instance I see a "move" button in the properties general screen for a particular report, does that actually move it or can that be used to make a copy as well?
Thanks
Sherri
January 24, 2011 at 10:17 am
Hi,
The move option will definitely move the report and as far as i know there is no option to copy. I had a similar problem to this and what i ended up doing was to create a new report project using the "add to existing solution". This effetively creates a report solution with two projects in it. You can specify a different server path for each project. Copy the report from your one project to the other and then deploy that. It's all viewable in one solution explorer window.
That worked for me but you need to be wary of doing this if you already have a directory structure in place on the server. I was lucky mine was a fresh reporting server so i was starting from scratch!
Thanks,
Simon
January 24, 2011 at 10:25 am
Thank you for that. I was afraid that would be the case, but was hoping for something easier since I have 2 reports to copy and I only wrote one of them. I know that I can "edit" and save the rdl of the other one and then re-deploy to another location, but I uwas just hoping for something slightly less cumbersome.
Thanks again.
Sherri
January 24, 2011 at 10:29 am
Someone else might know of a way but that's all i could come up with 🙂
January 24, 2011 at 12:39 pm
In Report Manager, make a Linked Report.
On the report go to the Properties tab and click "Create a Linked Report"
This way only one report to deploy and maintain.
January 26, 2011 at 8:23 am
Thanks Daniel, the create linked report button worked perfectly for what I needed!
Thanks again.
Sherri
January 27, 2011 at 7:29 am
One thing to know about the linked reports is that margin size is not propagated to the linked reports. No matter what size your report margin is it will be one inch in the linked reports. Why everything else is the same except for margins I have no idea but here's a script I found somewhere (Probably here, but I can't find the source so my apologies to whoever wrote it) that will fix the report
[Code="sql"]
Declare @Properties as XML;
--Get the Report Properties for the Base Tech Task list report
Set @Properties =
(
Select convert(XML,[Property]) as [Property]
from ReportServer.dbo.Catalog
where [Path] ='/Infosys/Technician Task Lists/Technician Task List' --Change this to your report path
and Type= 2
)
--Update the property column with the values shredded from the XML from above...
Update ReportServer.dbo.Catalog
Set Property =
(
Select '<Properties>' +
'<PageHeight>' + T.C.value('./PageHeight[1]','varchar(MAX)') + '</PageHeight>' +
'<PageWidth>' + T.C.value('./PageWidth[1]','varchar(MAX)') +'</PageWidth>' +
'<LeftMargin>' + T.C.value('./LeftMargin[1]','varchar(MAX)') + '</LeftMargin>' +
'<RightMargin>' + T.C.value('./RightMargin[1]','varchar(MAX)') + '</RightMargin>' +
'<TopMargin>' + C.value('./TopMargin[1]','varchar(100)') + '</TopMargin>' +
'<BottomMargin>' + T.C.value('./BottomMargin[1]','varchar(MAX)') + '</BottomMargin>' +
'</Properties>'as [XML]
from @Properties.nodes('//Properties') T(C)
)
where [Path] like '/Infosys/Technician Task Lists/%' --Change this to your report path
and Type = 4 --Linked reports
Select '<Properties>' +
'<PageHeight>' + T.C.value('./PageHeight[1]','varchar(MAX)') + '</PageHeight>' +
'<PageWidth>' + T.C.value('./PageWidth[1]','varchar(MAX)') +'</PageWidth>' +
'<LeftMargin>' + T.C.value('./LeftMargin[1]','varchar(MAX)') + '</LeftMargin>' +
'<RightMargin>' + T.C.value('./RightMargin[1]','varchar(MAX)') + '</RightMargin>' +
'<TopMargin>' + C.value('./TopMargin[1]','varchar(100)') + '</TopMargin>' +
'<BottomMargin>' + T.C.value('./BottomMargin[1]','varchar(MAX)') + '</BottomMargin>' +
'</Properties>'as [XML]
from @Properties.nodes('//Properties') T(C)
Select *
from ReportServer.dbo.Catalog
where [Path] like '/Infosys/Technician Task Lists/%' --Change this to your report path
and Type = 4
[/Code]
January 27, 2011 at 8:52 am
Thank you for that script. I hadn't tried to actually print the report that I had linked yet just viewed it and made sure permissions carried over correctly, etc. After I printed it I was clearly able to see where this script is needed because my original report was set up to print in landscape, but this linked report print in portrait. After I ran the script it is now working just as good in the linked folder as in the original.
Thanks again!
Sherri
January 27, 2011 at 10:51 am
Hey Steve,
I didn't know about this issue either. Thanks for posting the script. This will definitely be a useful addition to my code library.
Thanks,
January 28, 2011 at 1:32 am
Thanks for these tips. I have had the same issues in the past and did not know I could solve it this way. I had also been creating a new project and load the report to be copied. The obvious downside with this is that both reports may need changes in future which is a duplication of time and effort.
Viewing 10 posts - 1 through 9 (of 9 total)
You must be logged in to reply to this topic. Login to reply