Shared Dataset embedded URL reference
When you add a shared dataset, Report builder puts the fully qualified url reference of that dataset in the RDL. I would have expected a relative reference, but the server name is embedded in the RDL! It looks like this:
<SharedDataSet>
<SharedDataSetReference>/Reports/Datasets/MySharedDataset</SharedDataSetReference>
<rd:ReportServerUrl>http://servername/ReportServer</rd:ReportServerUrl>
</SharedDataSet>
When I deploy to another server, that url still points to the old server. If I set them all to localhost, they deploy and execute correctly, but you can't edit them using Report Builder unless you're on the server locally.
What is the best practice for managing this mess?
October 6th, 2010 7:05pm
Hi Trent,
I am researching your issue and will respond as soon as possible.
Thank you,
Cathy Mller
Microsoft Online Community Support
Free Windows Admin Tool Kit Click here and download it now
October 8th, 2010 11:34pm
Any <rd:> tags you find in an RDL file are report designer / Report Builder specific metadata. Report Builder uses them to capture e.g. the report server it originally came from.
The report server ignores rd-tags, and you can delete those rd-tags if you want.
HTH,
RobertRobert Bruckner http://blogs.msdn.com/robertbruckner
This posting is provided "AS IS" with no warranties, and confers no rights.
October 9th, 2010 4:26am
I understand that the report will still run with the reference in it. However, after I publish the report to the new server (in my case, a client's server), when you try to pull the published report up in Report Builder, it tries to access
the shared dataset on the old server (using that metadata you referred to) and you get an error.
Removing the RD tags effectively severs the report's connection with the shared dataset - when you load it into Report Builder and click on the dataset properties it says "can't find shared dataset"; you can still run it, but it is essentially running as
an embedded dataset from then on (kinda defeats the purpose of a shared dataset).
So, the only way I can think to get around this is to manually (or automatically) change the reportserver reference in all the <rd:ReportServerUrl> tags BEFORE deploying the reports. Surely this isn't how Microsoft intended for us to deploy reports
to production servers!?
Does Microsoft have a tool for making this type of change or do I need to write my own? When publishing hundreds of reports, this can quickly become an issue.
Free Windows Admin Tool Kit Click here and download it now
November 17th, 2010 3:39pm