For most of these you will need to recycle the report service 


Method not found

This will usually be error along these lines as soon as you try to run the report:
"An error occured generating the document. Method not found"

This can also sometimes show as different errors eg.
"FileNotFoundException: Could not load file or assembly"

Check that the report service AppPool is running with 32bit disabled


The File Exists
If after running the report you see an error along the lines of
"An error occured generating the document. The file exists"

Also in the report service logs you will see something along the lines of:

2019-10-10 05:00:25.0366 Error System.IO.IOException: The file exists.


   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)

   at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)

   at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)

   at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options)

   at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportFormatType formatType)

   at ReportWebServices.Domain.Services.ReportService.GetReport(Guid guid, String& fileName)

   at ReportWebServices.Web.Api.ReportController.GetReport(Guid guid)  

This is most likely due to C:\Windows\Temp exceeding 65,000 files, clearing the temp folder will resolve the issue


Failed to Open the Connection
After running the report you receive an error along these lines, also on some (but not all) reports won't load the prompts.

An error occured generating the document. Failed to open the connection. Details: [Database Vendor Code: 17 ] Failed to open the connection.


You may also see an error along these lines in backend jobs for user reports:


MethodName: BuildReport

Message: Cannot create PDF from [....] for message System.Exception: Unable to retreive stream from guid:[.....]

System.Net.WebException: The remote server returned an error: (500) Internal Server Error.


- Check the report validation entries are setup for the correct database

- Check the ClickHome.Reporting.RepServerURL setting

- If this is a large report you may have to increase the report service timeout window:
https://support.clickhome.com.au/support/solutions/articles/3000085474-technical-increasing-timeout-window-for-the-report-service

The field name is not known. Details: errorKind

A similar issue to the above error but one step further. Put simply this error means we can connect to the database but something that crystal reports was expecting isn't available. Most likely because a view does not exist in the database but it could also be permissions on a schema or something similar. As with some of the other errors this will show as a more generic error when viewed externally and won't write any logs into the report service error log. 



Something went wrong

When trying to load the report you get an error along these lines, the technical message will be as follows

TaskId: caf8990d-447e-4f59-9623-ec8f9ddc91db,
System.Exception: Something went wrong on our server please try again
   at ClickHome.Logic.ReportHelper.PostRequest(String json) in C:\BuildAgent\work\24422d312112d26c\Solution\ClickHome.Logic\Reporting\ReportHelper.cs:line 168
   at ClickHome.Logic.ReportHelper.SubmitReport() in C:\BuildAgent\work\24422d312112d26c\Solution\ClickHome.Logic\Reporting\ReportHelper.cs:line 86
   at ClickHome.Infrastucture.Services.ReportsService.SubmitReport(Int32 userId, ReportEntity report, String parameters) in C:\BuildAgent\work\24422d312112d26c\Solution\ClickHome.Infrastucture\Services\ReportsService.cs:line 185


This is a more generic error, there are a few known causes:
- The report itself is inaccessible, check that the report exists and is accessible by the reports service
- Can't connect to report service DB, check the connection string to the report service database is correct

- Check the setting ClickHome.Reporting.RepServerAPIKey exists and the key is correct