Dynamically set shared dataset path in SSRS - reporting-services

I'm having one SSRS report, which is currently using shared dataset which inside the same report folder. Shared Data-set is in the same folder.
Path of Shared Dataset is win2008/Reports/ABC/sharedDataset.rsd
Now on Production site, report folder name will be the same but Shared Dataset path may not exist.
For example: In "win2008/Reports/ABC/sharedDataset.rsd" - win2008 may not be there so dataset error comes.
The report server cannot process the report. The reference for the
shared dataset 'rptDs' is not valid. (rsInvalidDataSetReference)
Can anyone please help to solve this issue. Thanks in advance

There is no way around this. You need to either open up the report on your production environment and add the shared dataset again or the more thorough and advised solution, is to have your datasets held in a folder structure that is the same on both servers.
In general, if you are moving shared datasets around with the report you may as well be embedding them. Create a folder in the Home folder called Datasets and then put them all there, organised into various folders as you require. Keep that folder structure the same on your Dev and Prod environment and you won't have this problem again.

Related

Is it possible to run all the reports in a given folder from report server?

I have a folder with around 15 reports in it, these are Report Server reports. To run each report individually will take a while, so I want them to run together. So, what I want to be able to do is somehow run all the reports in this folder, is this possible?
This is somewhat of an ambiguous question. Let me explain. What are you asking specifically?
Q: Can you run multiple reports at the same time?
A: Yes, and there are several ways to accomplish this.
1. You can use SQL agents
2. Use batch files with task scheduler
3. Use an SSIS package and use an agent to run them at specific times...etc...
Hopefully one of the reports does not depend on another and another thing that you have to take in to consideration is how hard you will be hitting the SSRS or SQL server. Running them all at one time may take longer than one at a time. depending on the bandwidth of the SQL Server and what tables are going to be locked up during each of these processes.
You might want to give a little more detail in your question...
I would recommend an SSIS package, especially as it also one of the options presented by #Michael that can email the Excel workbook too which you mentioned in an earlier comment.
The following resource covers quite well the execution and export of an SSRS report using SSIS, including code you will need as a starting point: Executing an SSRS Report from an SSIS Package.
You could save some time in coding the solution by using the following custom Task that can be integrated into SSIS: SSIS ReportGenerator Task.
There is one problem in your requirements though which is merging reports into one Excel workbook where I assume you want separate sheets for each report within the same workbook?
Reporting Services can use multiple worksheets (to divide a report up into pages a.k.a pagination) but only for a single report; it can't merge reports into one Excel file. This can be accomplished with custom code however. There's a somewhat basic example here: Merging workbooks into a master workbook with separate sheet for each file.
One way to run all the reports at once is to add subscription to all of them and set same subscription start time in all of the reports. what will happen is once the start time arrived all the reports will run simultaneously and will generate excel/pdf (any format specified) file at shared location.

SSRS - How to see query inside Shared datasets

I have a SSRS report deployed ina a server. I have to see how the report is collecting data. The datasets and datasources are shared in this case. How do i have to check the query in the shared datasets?
I'm able to locate the shared data source and dataset location in report server but have no options to see what is inside that. Please help
There are two ways i can think of achieving this, First is to Edit in report builder from the drop down, the second is to download and then add it to a projects and open it up there.

How to import SSRS shared datasets and data sources directly into BIDS 2008?

Using:
SSRS Report Server 10.50.1600.1
BIDS Visual Studio 9.0.30729.4462 (from remote client on same domain and network; not local on SSRS server)
I'd like to be able to add existing shared data sources and shared datasets that live on my report server to my BIDS project on my local workstation.
I know I can create a shared resource from a BIDS instance, and deploy it to the SSRS server. I can also do the same via Report Builder 3.0; deploy or publish from either application, then navigate to the report server URL (https://SSRSServer.mydomain.com/reportserver), download the resource(s) to my machine, add them as a Shared resource, and then redeploy as appropriate...but that's a bit convoluted.
What I'd like to do is add a shared data source (or set) in BIDS the same way that I can in Report Builder 3.0. In RB, I can navigate to the report server URL (using WebDAV, I'm assuming), and pick the rsds file I need, however, from BIDS, I'm only able to browse UNC and local paths (URL+DAVWWWRoot doesn't work, and neither does manually adding a data connection string).
I feel like I'm overlooking something obvious, but I can't find anything on the subject, and I've been racking my brain for too long this morning...
In short: is there anyway to browse my report server resources from BIDS 2008, in the same fashion as Report Builder 3.0 with the intention of adding existing datasets and data sources (please see screenshots for reference)?
Image taken from adding a shared data source from Report Builder 3.0
I'm sad to tell you but there is not.
You only can save those objects ,local by downloading them and then adding to the project explicitly.
I checked if there is a way to paste multiple datasets/datasources into your project file but it is also not possible, looks like it is encrypted in the state string of the project file.

can you restore a single report in SQL Server 2012 ReportServer?

Basically, I am an intern and there is a report server which we are looking at increasing the power of a certain user on so he can edit more reports than just the ones in his folder. We know how to do this fine but what I wanted to make sure was that if he messes one up we can easily restore that report. We are preforming regular backups and I know how to do a full recovery but I cannot find any information about restoring just a single report when needed.
Thanks for your help.
There are two options.
Edit the report in Visual Studio deploy it to the target server and save the .rdl file in a source repository. You can deploy the saved version as many times as you need to.
Log into the reporting services manager and select the report and then select the export option. Save the .rdl file to source repository. You can upload the saved file to the server as many times as you need to.
Updated
Here is a link to a powershell script that seems to create a backup of all .rdl files and saves them to a folder.
Search for third party tools that will create and restore one or many individual reports.

Using shared datasets across different projects

facts: Visual Studio 2010, SQL Server 2008 R2, SQL Server 2008 R2 Reporting Services
I have a solution that consists of several projects. This is because of the inability to create nested deploy folders.
So my solution looks like this:
Students -> reports deploy to Students
StudentsGraduated -> reports deploy to Students/Graduated
StudentsGraduatedWithHonours _> reports deploy to Students/Graduated/WithHonours
StudentsBlueEyes -> reports deploy to Students/BlueEyes
StudentsGreenEyes -> reports deploy to Students/GreenEyes
All reports should use one dataset, with proper filters.
So I set up deployment so that each project deploys its datasets in /Student/DataSets. I made sure that each project has a identical dataset so that, when deployed, they all use the same dataset.
But apparently this does not work. Only the last deployed report can use the dataset :(
If I put all reports using a dataset in the same project it works but I have manually to move all reports to their proper locations.
Setting up all projects to deploy their reports in their own DataSet folder works too, but then I have a lot of identical DataSets lying around, which kinda beats the purpose.
After deployment manually resetting the dataset using the reportmanager works but is rather a tedious exercise when you have like 7 datasets on avg in each report and 19 reports......
Is this known phenomenon? Is it possible to have reports from different projects use the same dataset? If so, how?
I really would like to know your thoughts on this......
The way I was doing it should according to this link be the right way.
So I redid it, following the steps outlined in this link by Charlie Liao:
1. create the datasets in one of your projects
2. ADD these as existing items to another project
3. Set Overwrite Datasets to TRUE.
I think it was step 2 where I went wrong. I just recreated the dataset in each project, I did not add them. I deleted all datasets in all projects (but the first) and then readded all datasets to all projects as existing items, set Overwrite to True and deployed.
MAGIC!!
:)