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

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.

Related

access shared data source by report designer, created in SSRS web portal

I recently started learning SSRS; I created a data source over SSRS web-portal; I am wandering whether such a data source can be accessed from /by Report Designer to create report and data sets.
Would anyone please help me understand the scope of such data source created in SSRS web-portal.
Thank you for giving your valuable time.
Generally you will create your shared data sources in Visual Studio/Report Designer and then publish them to the server. The end results is that you will have a data source available on the server (as it sounds like you have now).
By default data sources are not overwritten when you deploy reports, the idea is that you can have a data source on your development machine and as long as it has the exact same name on the server, when you deploy your report, it will look for the data source of the same name.
As it sounds like you created the data source directly from the web portal, you will have to recreate it on your development machine with the same name, when you deploy the report it will use the version on the server.
This also means that you can have a data source on your development machine, called dsSales for example and it might point to myTestServer\myDatabase and on the production server you could have a data source with the same name, pointing to myProductionServer\myDatabase (assuming the same tables etc exist on both) then you can test with data from the test server and when you deploy it will connect using the data source that connects to the production server.
I hope that clears it up a little.

Confused about differences between SSRS in Visual Studio and Microsoft Report Builder

I have some questions regarding the differences between working on reports in Visual Studio (SSRS) and Microsoft Report Builder. When first starting up Report Builder, I connect to a report server, connect to a data source, and then add datasets. This is what the screen usually looks like below:
On visual studio, when starting a new reporting services project, I am not prompted to connect to a report server. I can navigate to the report file and open it to design the report, but cannot add any data. When adding a data source, I am prompted to select the type of data source (SQL Server, Report Server Model, etc) and I have tried to connect to the same data source I had connected to in Report Builder, but I cannot access the shared datasets. Here is the visual studio prompt below:
Why am I unable to connect to a report server in visual studio and pulled the shared datasets in that report server?
what you need to do in visual studio is to create a Shared Data Source first
Under your report project (right hand side) , right click on your Shared data Sources and create a new one
Once you have created and tested the connection here you can use this for new reports in this project.
When you create a report, under report data, right click Sata Sources -> Add new Data Source then give it a suitable name and then select "Use Shared Data Source Reference" and then select the Data Source you created in the previous step
Once you have done this, you can then create a Data Set using the Data Source created above. (Embedded in the report)
But if you want to use shared Data Set, then the Shared Dataset needs to have this data source assigned.
Hope that made sense.

Power BI Report Server - Shared Dataset Doesn't Save

Data Source missing
Data Source,tried to save
The issue is when I hit save to connect to a shared data source it doesn't save. When I run the report and get the below error. Then go back and the shared data source is gone. I can see that the link and extensions are null. Please help :-)
The report server cannot process the report or shared dataset. The shared data source 'SSAS_PRN' for the report server is not valid.
Problem = There was many different versions of the same data sets.
The solution was to wipe out all of them, then start fresh.
Then in Report builder.
Under the data Sources Properties.
Browse to the new version.
Hit save.
The report now works on the server.

How can I add an embedded data source to RDL in C# code?

I am trying to use SSRS in a multi-tenant situation. The base version we want to support is SQL Server 2008 but if R2 is needed we might be ok with that.
I am currently using the ReportingService2005.asmx endpoint which seems to expose the ReportService2005SoapClient class (even though all samples seem to show ReportingService2005 class).
When we run a report I want to make a copy of that report from the server, add an embedded datasource, point the datasets to that datasource and then run the report.
I have gotten as far as:
getting the RDL from the server
modifying the XML to add the DataSource
pointing the datasets to point to the new datasource
...but when I try to "CreateReport" I get the following error:
System.Web.Services.Protocols.SoapException: The dataset ‘DataSet1’ refers to the data source “mydatasource_LOCAL”, which does not exist.
at Microsoft.ReportingServices.Library.ReportingService2005Impl.ExecuteBatch(Guid batchId)
at Microsoft.ReportingServices.WebServer.ReportingService2005.ExecuteBatch()
I have added the dataset to the RDL, it looks the same as when I add one in the designer. However, I assume something needs to be added to the server? What am I missing?
(As an aside, I know MS Dynamics enabled multi-tennant SSRS in a single instance, but I see no info on how they did it. If they have any code or anything they share someone could point me to that would be awesome.)
You're using the correct endpoint, more or less. From MSDN:
The ReportService2005 and ReportService2006 endpoints are deprecated in SQL Server 2008 R2. The ReportService2010 endpoint includes the functionalities of both endpoints and contains additional management features.
In any case, you mention you modify the RDL to use a new data source in step 2. I might be wrong, but I think you probably still need to add a DataSource item to your report catalog using the ReportingService2010 CreateDataSource(...) method.
If you deploy a new report from Visual Studio to report server it wil also mention in the log that it's deploying the data source before it deploys the report.
Of course you could also create that data source on the server beforehand, using the report manager (though "mydatasource_LOCAL" may not be an ideal name).

SSRS Create development environment from Live server

I've inherited a live SSRS server and have been asked to amend a lot of reports that are on there.
Is there a quick way I can "export" all of the reports/data sources to a local instance so I can develop against it using BIDS?
e.g. Can I copy the ReportServer database from Production?
What else would I need to do?
I'd like to be able to have a Development copy of everything, with DataSources pointing to copies of the production databases but with the same names. Therefore I could re-write the report and re-define any SP's required locally, and then just deploy the new RDL to the server along with the ALTER SP scripts.
Is that possible or even sensible!?
Personally, with the volume you mentioned in the comments (30 RDL's and 3 databases) I wouldn't recommend some automated cloning of the entire Reporting setup from production to local. Instead, I'd suggest the following:
Reports
Go to the web front-end for your reportserver (typically http://yourserver/reports). Find each report, open it, and on the Properties tab click the Edit button. This button does not do what you might expect (edit the report inside the browser), but instead offers you a download of the RDL file. Save all the RDL files in one folder on disk.
With 30 reports manually downloading the reports may take you maybe an hour, max. This will probably beat most automated approaches. And since you should only need to do this step once...
Databases
It's not entirely clear from the question, but if you only have production databases and no DTAP setup yet, now may be a good time to start with that. You could host clones of the 3 production databases on a test server or possibly on your dev environment. Note that the schema's important here (should be the same as production), the data doesn't have to be entirely up to date.
Alternatively you can skip this bit and develop your reports against the production databases, assuming you can create connections from your dev machine to the production databases. Up to you.
Visual Studio / BIDS
This bit has a few parts to it:
Create a new reports project and solution in Visual Studio.
Add the existing RDL files you've downloaded earlier.
Depending on how the reports were set up, you may need to add shared data sources in your project, to get your reports up and running.
After all this, you should be able to preview your reports from Visual Studio (either with data coming from the "cloned" databases, or directly from production).
At this point you should also be able to safely make changes and preview/test them before deploying them.
Be sure to add the solution, reports, etc. to your version control system of choice.
Deployment
Once you've made changes you want to deploy to the reportserver, you have two basic options:
Deploy them using BIDS (see also the deployment properties MSDN page)
Go back to the web front-end, find the report, open the Properties tab again, click the Update button. This allows you to re-upload the RDL file with the changes you've made.
From now on you can just rinse and repeat on making updates and deploying the reports. No need for cloning/exporting the entire SSRS instance to keep things in sync.