mmajcica / DeploySsrs

Build-Release task for VSTS/TFS that manages Microsoft's SQL Server Reporting Services
MIT License
21 stars 21 forks source link

How to migrate the same report which was developed with SHARED DATA SOURCE to any other datasources(depending upon env) using XML config #8

Closed rp557rajendra closed 6 years ago

rp557rajendra commented 6 years ago

I have various reports in DEV , QA and PROD environemnts . Each environment has its own DataSource name. For example, DEVDATASOURCE, QADATASOURCE, and PRODDATASOURCE.

My objective is to develop an SSRS report, "Report1" by specifying its data source as DEVDATASOURCE and then use DEPLOY SSRS task to deploy and migrate "REPORT1" from DEV -> QA ->PROD.

Is there any way I can achieve my objective using this DEPLOY SSRS task? If so, could you please explain it.

rp557rajendra commented 6 years ago

I did more research on this .

Looks like DEPLOY SSRS build task is not able to modify the DATASOURCE for reports which has been developed with datasource as SHARED DATA SOURCE . If go back to RDL Design for the same report and modify the datasource to EmbededConnection and then do re-deployment then it is working fine .

Would you please fix the issue for SHARED DATA SOURCE?

Attached are the screenshots.

image

image

rp557rajendra commented 6 years ago

Any update on this?

mmajcica commented 6 years ago

No updates on this. I do understand that this is your way of working and no customization will be made to please your edge case. Artifacts in general should not contain any references about the environment, so use the same name for Datasources, independent from the environments.

ZacHamilton commented 6 years ago

I get by with something like so, a different config file per environment. Two configs below. I simply put the datasource in the folder and mark it as hidden, a cheap trick for sure. I could improve on the security somewhat but don't see the need with our user base:

<?xml version="1.0" encoding="utf-8"?>
<Folder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Root">
  <Folders>
        <Folder Name="APP_DEV_REPORTS">
          <Reports>
            <Report Name="Report1" Hidden="false" FileName="Report1.rdl" />
            <Report Name="Report2" Hidden="false" FileName="Report2.rdl" />
          </Reports>
          <DataSources>
            <DataSource ConnectionString="Data Source=SERVER;Initial Catalog=App_Dev" Name="DATASOURCE" Extension="SQL" CredentialRetrieval="Integrated" Hidden="true" />
          </DataSources>
        </Folder>
  </Folders>
</Folder>

<?xml version="1.0" encoding="utf-8"?>
<Folder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Root">
  <Folders>
        <Folder Name="APP_QA_REPORTS">
          <Reports>
            <Report Name="Report1" Hidden="false" FileName="Report1.rdl" />
            <Report Name="Report2" Hidden="false" FileName="Report2.rdl" />
          </Reports>
          <DataSources>
            <DataSource ConnectionString="Data Source=SERVER;Initial Catalog=App_QA" Name="DATASOURCE" Extension="SQL" CredentialRetrieval="Integrated" Hidden="true" />
          </DataSources>
        </Folder>
  </Folders>
</Folder>