CRM 2011 SDK - Re-Publish Reports - reporting-services

Sometimes it is necessary to republish the CRM reports by going to C:\Program Files\Microsoft Dynamics CRM\Tools\ on the server and running PublishReports.exe (http://community.dynamics.com/crm/b/crmguyriddle/archive/2008/06/26/re-publish-crm-reports-in-srs.aspx).
Is there an CRM 2011 SDK method to do this from code (C#)? I want to do this from an application running on a remote machine.

There is no CRM SDK method to do what PublishReports.exe does. PublishReports.exe calls methods from the CRM setup DLLs (not part of the SDK and are not available to the CRM server code itself.)
In short, what PublishReports.exe does is exactly what the CRM Org Setup process does to get the reports to SQL RS - first, it creates the shared data sources and then it reads the report information from the Org DB (using SQL) and calls the SSRS webservice to publish the reports.
You can look at the public methods (ConfigureReports and OrganizationPublishReportsScaleGroup in Microsoft.Crm.Setup.Server.Utility (located in the same directory as PublishReports.exe) but this is completely undocumented and unsupported. I'm not sure it would work.

Related

SQL Server Reporing Services Deployment

I am using TFS 2015 U3. Recently I have installed SQL Server Reporting Services Deployment (https://marketplace.visualstudio.com/items?itemName=tobania.SqlReportingServices#overview) in Market place.
Here is my question:
I think this is not an issue with extension but my question is how to handle the process.
Each time my release task runs it will deploy all RDL files in my project. Is there a way to only deploy new/ Changed RDL's(Is it possible to Deploy only new and modified reports (RDL files) using TFS Deployment?)
Thanks,
Satheesh
No, that's the expected behavior with the extension which deploy all RDL files in the project. It will relace all the previous files. Only deploy the new and modified reports (RDL files) is not supported.
However you can try deploy the files singly with powershell, below articles may helps:
PowerShell Commands for SQL Server Reporting Services

Connecting to Oracle database from Report Builder 3.0

Our organization has a Windows server running SQL Server Reporting Services (SSRS). We use SSRS to build reports that access an Oracle database. We were able to get SSRS to connect to our Oracle database by installing Oracle Data Access Components (ODAC) for Windows on our server. We installed the Xcopy versions - both 32-bit and 64-bit (don't know if we needed to do both; SSRS used to only accept 32-bit drivers). We were able to successfully set up a data source in SSRS that connected to the Oracle database.
However, we write our reports on development machines using SQL Server Report Builder 3.0. When building a report that uses a shared data source on the server - the one that accesses our Oracle database, we get the error
The selected data extension ORACLE is not installed or cannot be loaded...
What do we need to do to be able to write reports from our development machines that use a shared data source to our Oracle database?
You need to install ODAC on your development machines as well. Even though you are configuring your report to use a shared data source on the server, Report Builder 3.0 will use connection drivers on the local machine to build and preview report data.
Report Builder 3.0 still seems to be a 32-bit application (as of 6/3/2016), so you only need to install 32-bit ODAC package.

dynamics ax ssrs deploy error

I've got this error when I tried to deploy SSRS report in Visual Studio.
(DAX 2012 kernel 6.0.1108.6510 app 6.0.1108.670 solution 6.1.1108.670)
Error 1 A call to the Microsoft Dynamics AX SRSFrameworkService service failed. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.43.6.57:8201. C:\Program Files (x86)\MSBuild\Microsoft\DynamicsTools\Microsoft.Dynamics.Framework.Design.Reporting.Modeling.targets 466
10.43.6.57:8201 is old address new should be 10.43.6.91:8201
Where I can change it?
In AX form SSRSServerFarm address is new:(NLDDAXDBS02TR, http://NLDDAXDBS02TR/Reports, 01#NLDDAXDBS02TR)
I run Visual Studio like this "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /AxConfig "c:\Users\Username\Desktop\DEV.axc" with correct config file
in axc file I don't have 10.43.6.57 or old dns NLDDAXDBS01T
I scanned and replaced values in registry on client and server machine, checked all files on client and server machine, checked all values in database.
Also restarted AOSes, SSRS service, and client RDP session.
Microsoft Dynamics AX 2012 Configuration and perform a Refresh Configuration didn't help
Full CIL Compilation, Deactivate BIServices, Activate BIServices also didn't help
Running Visual Studio as Admin - same result
nslookup says: NLDDAXDBS01T - 10.43.6.57 NLDDAXDBS02TR - 10.43.6.91
System Administration > Setup > Business intelligence > Report Servers is correct because i tried to deploy from another rdp server and it works fine
Are you certain the default report server is setup correctly in Ax?
Found under:
System Administration > Setup > Business intelligence > Report
Servers
Check your business connector configuration to make sure it's connecting to the right environment, see https://technet.microsoft.com/en-us/library/aa569654.aspx
I think Visual Studio deploys to AX based on that business connector AXC, so if that's pointed to an incorrect environment that has the "old" SSRS setup, it would explain your issue.
I got this problem one time due to multiple AOS and SSRS instance, or you might stop AOS service while user still using.
First, you need to make sure Report servers configuration point correctly to SSRS instance.
Then, stop all AOS service, go to reporting service login with correct instance and check everything again.
Then, perform full compilation using AXbuild.exe , Full CIL.
Start AOS service and check.
Let us know result.

Cannot connect to remote MS Dynamics CRM Fetch XML datasource from SSRS

I have Office 365 with Microsoft Dynamics CRM which contains business data and I have SQL Server Reporting Services on a stand-alone server that serves as a report container and my ASP.NET websites can execute these reports and people can deploy reports there.
In Visual Studio I've created Fetch XML datasource for my report supplying CRM server credentials and report runs smoothly, no problems at all. When I deploy it on SSRS server I can't execute it with the same credentials, it just throws following error:
Guid should contain 32 digits with 4 dashes
(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
Ok, no big deal. I googled it and found out I had to enter SystemUserId and OrganizationId in credentials, although I couldn't query them directly on SQL Server I managed to get these values through MS Dynamic CRM. Entered them in datasource's login and password inputs, clicked "Test connection" and I got this error:
System.Data.SqlClient.SqlException: The EXECUTE permission was denied on the object 'p_GetCrmUserId', database 'MSCRM_CONFIG', schema 'dbo'.
Ok, google it again and obviously I have to fix SQL Server user permissions and I don't have any access (and never will) to MS Dynamics CRM's SQL Server to fix permissions issue. Why does it work in Visual Studio, but fails on SSRS server? What do I do to fix this conenction issue? Thanks.
You will not be able to run Fetch XML reports locally against a Dynamics CRM Online instance. You would need to deploy those reports to the Dynamics CRM Online organization and run them from Dynamics CRM.
It works in Visual Studio because the CRM Report Development extension makes it work for development, but it cannot be deployed directly to an SSRS server - the Fetch XML reports can only be deployed through Dynamics CRM to the SSRS server configured in CRM.

SSRS 2012 : report builder and connection string to shared dataset

We are using SQL Server 2012:
one team develops datawarehouse
one team is in charge of reports using Report Builder
We use shared datasets.
When .rdl files are saved on local machine, we can see that <ReportServerURL> is fully embedded in file, in Shared DataSet section. How can we easily deploy the .rdl on another report server (production environment) without having to edit (by hand/script) all .rdl files?
As far as I know <ReportServerURL> is just a hint for Report Builder. It is not used by server, so reports can be safely deployed to another report server