Good morning, All.
First let me start off by saying that I'm extremely new at CRM and even after reading umpteen million articles, whitepapers, and blog entries, I still feel completely lost.
I have an instance of Dynamics CRM 2013 On Premise that I'm trying to write custom reports for. Before I realized that all reports had to be done inside of BIDS, I wrote out a beautiful custom Quote inside of SSRS itself. I made sure to use the Filtered Views in my query to the database, and the structure of the query seems sound, but I can't seem to upload the .rdl file into CRM.
I get the error:
Reporting Error
Error occurred while setting the data source for the report
I have two questions:
How do I move this report into CRM without having to fully recreate it in BIDS?
How do I pass the Quote ID from CRM to this report query?
Thanks in advance for all of your help.
Edit: Added Error Message
You Should be able to upload the RDL directly to CRM...
Try creating a really basic report with the same data source and something along the lines of "select top 10 from filteredincident" and upload it.
If it works then you know it's something with your query.
CRM is notorious for giving error messages that don't have enough information, or are at worst misleading. I've seen this error when I accidentally used non filtered tables and a autofilter parameter that was incorrect.
Also take a look at the SSRS server that CRM talks to, if it's misconfigured that may cause an issue as well. You may want to try uploading your report to SSRS and run it from there to ensure that SSRS is working correctly.
Related
I am pretty experienced in SSRS, I have been doing it for quite some time so I know when I see the error:
"An error has occurred during report processing. (rsProcessingAborted)
An attempt was made to set a data set parameter '#SiteId' that is not defined in this data set. (rsUnknownDataSetParameter)"
I know what causes this error and can fix it. However, this error randomly happens every so often. What I end up doing is simply rebuilding the project and redeploying it and all is well for a few days, then suddenly again this same error will pop up again.
I know there is no issue with the parameter as I have a #SiteId parameter as shown:
So when I get an email from a user that "The Report Is Down" I just go to my report and rebuild and republish and the error vanishes without ANY other changes. A few days later when they want to run the report again this same error happens. What is causing this issue to come back over and over. We are running SQL Server 2016 with SSRS. It happens to ANY one of my reports on the report server. Its not a specific project it randomly happens on any project.
EDIT
What I did notice does happen is when a user reports this issue I go to the "Manage" of a report on the report server url. This area is where you find the properties, data sources, and parameters. When I click parameters I see this error:
So obviously something is destroying the parameters - that is where I am confused what is causing that. This is probably why I am getting the error message. So to reiterate a report is published works...suddenly the parameters go missing. User reports "the report no longer works" I rebuild and redeploy the report...it then works again for a day or so maybe more than a day I never investigated how long it takes for it to break again (as these are not urgent reports). Days later user says report is dead again...if I go to the report server using the report server url and click "Manage" and then click "Parameters" for some reason the parameters have disappeared...causing me to yet again redeploy. This happens over and over and over. It never ends...
The short of it is you cannot have the same shared dataset name across different SSRS Projects that are on the same SSRS server.
So within our SSRS "repository" we have several different SSRS projects. Both projects are very specific to certain functionality. What I noticed is everytime I deployed one of these SSRS projects the reports on the other project would stop working.
When the email would come from the user stating Application A's reports werent working I'd go to Application A's SSRS project and redeploy it and it would fix the issue. Days later a different user said Application B's reports weren't working so I would redeploy application B's. Not knowing that when I deployed A's reports B's would break, and vice versa deploying B's broke A's.
Come to find out....both projects had a shared dataset with the SAME NAME (dsEmployees). Same name however these datasets pointed to different sprocs with different parameters. Well when you deploy and look at the back end db the Catalog table only has one entry for dsEmployees. Everytime I redeployed this would overwrite with the other dataset since the names were the same.
Lesson learned across different SSRS projects be careful with the shared dataset name, they must be different. I was able to spot the difference by running the following query:
SELECT
c.Name,
c2.*,
c2.Parameter
FROM
DataSets d
INNER JOIN
[Catalog] c
ON
c.ItemID = d.ItemID
INNER JOIN
[Catalog] c2
ON
c2.ItemID = d.LinkID
WHERE
--one specific report for now
d.ItemID='C3008EF4-E544-48F3-92C1-2222C6148B13'
When the report was stated not to work. Then I would redeploy the report and rerun that sql statement I wrote and dumped the rows to an excel sheet to compare. One of those columns is Parameters and I noticed the parameters were slightly different. Immediately I was onto something and this ended up being it. Thanks to comment posted it helped me relook at this! This has bugged me for years!
Since recently I'm getting an error in a Dynamics 365 updated CRM OL when rendering a report. Now when I test in VS, it also shows this error. It says the following:
Could not create a list of fields for the query. verify that you can connect to the data source and that your query syntax is correct. The specified record type does not exist in Microsoft Dynamics CRM. The entity "XXX" cannot be found. Specify a valid query and try again. The entity with a name = 'XXX' was not found in the MetadataCache
I can connect, this always worked using the CRM OL Link, credentials are the same and the entity is there. I just copied the fetchxml from my advanced find, so pretty sure it's there.
I don't know of any changes to 365 that should break this. However, what I would do to fix it is create a report using the wizard that uses this same entity. Download that report and check the following:
Data Source - Are there any slight differences in Data Source name and/or connection string?
Data Set - Are there any subtle differences in the FetchXML from casing to versions etc?
That should point out the problem. If not, and that downloaded report works, either just copy in the attributes etc you need into the new report and go with that instead (it might be some xml within the report itself). Or if your report has nothing on it you could start comparing the raw xml of the 2 reports to see what is different.
This error: "The entity with a name = 'XXX' was not found in the MetadataCache" is quite common error with caching in CRM (Metadata is cached to speed things up). On On-Premise environemtns the thing that usually helps is simple IISRESET, which is not an option for CRM Online. I would try obvious solutions like re-publishing all customizations in CRM (from my experience it rarely helps for this error, but it's worth a shot), maybe adding some dummy plugin (and then removing it). If you will be still getting this error, then contacting MS Support should be your next move (also IIS AppPools are resetted after some time, so maybe tomorrow it will work - seems like a bad joke but actually it's true...)
If you have multiple instances of CRM make sure you point to the correct one but adding ;crminstance; at the end of the connection string. This solved the problem for me.
I am using Dynamics CRM 2013 on premise.
I have built all the reports based on stored procedures in SSRS.
one report however, that has no issue with execution definitions, permissions or what ever,
once executed causes to browser to crash (any browser, i tried FF, Chrome, IE9 and up, )
it seems the problem is not a report execution problem but a report rendering problem for this specific report.
I cannot cache the report or make a snapshot of it, as the values of the reports also depends on the user running the report (among other parameters user-defined) and each user should get a different result. - i have more than 400 users.
I have tried searching for any one who had face this kind of issue and reported on it but failed. hence decided to post this question my self.
if anyone has any idea, please share.
thanks
Have you enabled tracing/logging in SSRS? http://msdn.microsoft.com/en-us/library/ms156500.aspx
You might turn on verbose logging while trying to run the report to see if you can get more helpful information.
If you write code, you can write a .NET application that calls the SSRS web services to render the report. Doing that will help you know for certain whether it's a browser rendering issue since you can get back the report as a byte array and save it to disk as Word, PDF, etc.
I have created few SSRS reports in SQL server 2012 with Visual Studio 2010 version.
And I have deployed them to one SharePoint Site.
I want to make this automated, so that data available in the reports are up to date.
So, now I would like to create SSIS package which will run periodically to get up to date data using integration services. I am very much new to SSIS. I have tried to look at different sites for this, but I am not getting an exact idea from where to start.
Can anyone please guide me on this? How can I create a WSDL file URL for the SharePoint report? Do I really need it if report is already made in SSRS or do I just want to run that?
Thank you.
Would SSRS caching solve your problem?
Otherwise, there's nothing SSIS specific to solving your problem. You will simply need to use the .NET library to visit the page with the appropriate parameters. Visit your report page and copy the full URL.
Inside a Script Task use that URL as part of the WebClient. You'll probably need to supply credentials with this. No need to deal with storing the output, you'll simply want to validate that you get a 200 message code
Can you clarify what you are trying to achieve? Do you want to automate the running of the Reporting Services reports? In that case you should look at Report Subscriptions.
I'm pretty new to Reporting Services though I have a lot of experience with Crystal Reports and databases (and MS Access reports if that counts ;-). Anyway, I created simple reporting project in VS2008 using wizard, with simple stored procedure that has 2 options parameters - and since they're optional I do not assign their values. There's data in the dataset's "Preview data" window, but when I run the report it's empty - there're headers/etc but no data.
What can be wrong here? Can it be because I do not assign SP parameters - and if so, how do I do it? And how do I debug such cases "in general"? There's no even "preview" in report designer in VS2008.
Hm, I created report with tables inside, and manually added SP - it worked. But it shows data incorrectly in matrix. When I do the same thing using wizard in Report Builder 2.0 - it works like a charm - report is created, there's a preview, and data is correct in the resulting page. Looks like either VS2008 is broken or I don't understand something in there.