What is SSRS and common problems faced in SSRS

I was worked on SSRS on last week and faced many issues while working on SSRS. i am sharing some of the issues with you.
What is SSRS
Reporting Services is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enable developers to integrate or extend data and report processing in custom applications. Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components.

With Reporting Services, you can create interactive, tabular, graphical, or free-form reports from relational, multidimensional, or XML-based data sources. You can publish reports, schedule report processing, or access reports on-demand. Reporting Services also enables you to create ad hoc reports based on predefined models, and to interactively explore data within the model. You can select from a variety of viewing formats, export reports to other applications, and subscribe to published reports. The reports that you create can be viewed over a Web-based connection or as part of a Microsoft Windows application or SharePoint site. Reporting Services provides the key to your business data.
Common Problems faced while working on SSRS.
1. How to Remove scrollbars in report.
set the properties SizeToReportContent= True AND AsynchRendering = False of reportview controls.
2. In IE7, if your report is cut from bottom, then you remove the line
<!DOCTYPE html PUBLIC “~//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
from the webpage.
3. Sometime you can face a problem in report. it can show you 
“Error encountered displaying report. The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.”
then you need to configure the SSL.
SSL is a little complex and there are a number of things to investigate.
When using SSL, using the incorrect URLs can result in failures like the one i listed above.
Check the SSL Certificate (steps for viewing certificates are listed below):
The value in Issued To is what you need to provide in the URL.  If Issue To is “machine.domain.com” then typing http://localhost…  in the browser will fail.  Instead try https://<IssuedTo>&#8230;
Intended Purposes must include Server Authentication
Ensure the SSL Certificate is issued by a certificate authority recognized by your Domain Controller.  Otherwise Report Manager will fail to connect to Report Server.  Self signed certificates do not work.
In Reporting Services Configuration Manager:
Ensure a SSL URL is reserved and that a valid certificate is selected
Ensure the IP address selected for the certificate binding is correct
In rsreportserver.config
Set HostName property to the value of IssuedTo, or
Set ReportServerURL explicitly
To disable SSL by default set SecureConnectionLevel to 0
To see the certificates your using:
use mmc (Start –> run –> mmc –> enter)
Add the Certificates Add in (File –> Add/Remove Snap-in –> Add… –> Certificates)
Select Computer Account (Next –> Finish –> Close –> OK)
Under Console Root look at the “Personal” certificates.  If you’re using a command line tool instead, the certificates are in the “MY” store.
Expand Certificates (Local Computer), Expand Personal, Click on Certificates
SSL can use any certificate in this store where the Intended Purposes list contains “Server Authentication”
4. If you face a error message like “HTTP Status 401 Unauthorized Error”
The Report server will expect authorized user to access the reports. This can be done by two ways.
1.Passing the Report Server User Credentials with the Reports.
2.Forms Authentication on Reporting Server.
We need to Create one sealed class to perform this action. This class need to be inherited from IReportServerCredential interface.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Reporting.WebForms;
using System.Security.Principal;
[Serializable]
public sealed class ReportServerNetworkCredentials : IReportServerCredentials
{
#region IReportServerCredentials Members
/// <summary>
/// Provides forms authentication to be used to connect to the report server.
/// </summary>
/// <param name=”authCookie”>A Report Server authentication cookie.</param>
/// <param name=”userName”>The name of the user.</param>
/// <param name=”password”>The password of the user.</param>
/// <param name=”authority”>The authority to use when authenticating the user, such as a Microsoft Windows domain.</param>
/// <returns></returns>
public bool GetFormsCredentials(out System.Net.Cookie authCookie, out string userName,
out string password, out string authority)
{
authCookie = null;
userName = null;
password = null;
authority = null;
return false;
}
/// <summary>
/// Specifies the user to impersonate when connecting to a report server.
/// </summary>
/// <value></value>
/// <returns>A WindowsIdentity object representing the user to impersonate.</returns>
public WindowsIdentity ImpersonationUser
{
get
{
return null;
}
}
/// <summary>
/// Returns network credentials to be used for authentication with the report server.
/// </summary>
/// <value></value>
/// <returns>A NetworkCredentials object.</returns>
public System.Net.ICredentials NetworkCredentials
{
get
{
string userName = MobilePhoneXchange.WhiteLabel.Config.ServerUserName;
string domainName = MobilePhoneXchange.WhiteLabel.Config.Domain;
string password = MobilePhoneXchange.WhiteLabel.Config.ServerPassword;
return new System.Net.NetworkCredential(userName, password, domainName);
}
}
#endregion
}
protected void Page_Load(object sender, EventArgs e)
{
myReportViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
// Here we are going to pass the ReportServerCredentials to the Report Viewer.
myReportViewer.ServerReport.ReportServerCredentials = new ReportServerNetworkCredentials();
ReportServerLoaction = ConfigurationManager.AppSettings[“REPORT_SERVER_PATH”];
myReportViewer.ServerReport.ReportServerUrl = new Uri(“http://MyReportServer/Reports/&#8221;);
myReportViewer.ServerReport.ReportPath = “TempReports/MyFirstReport”;
myReportViewer.ShowParameterPrompts = false;
myReportViewer.ShowPrintButton = true;
Microsoft.Reporting.WebForms.ReportParameter[] reportParameterCollection = new Microsoft.Reporting.WebForms.ReportParameter[1];
reportParameterCollection[0] = new Microsoft.Reporting.WebForms.ReportParameter();
reportParameterCollection[0].Name = “ClientID”;
reportParameterCollection[0].Values.Add(“49020644-63AA-4D92-81A1-8F85D49ACF67”);
myReportViewer.ServerReport.SetParameters(reportParameterCollection);
myReportViewer.ServerReport.Refresh();
}
5. Sometime when you deploy to ReportServer, charts do not display or action on textbox is not working. 
This issue can occur in IIS7
or sometimes When we migrate web applications from IIS 6 to IIS 7 or IIS 7.5, we will face some problems in http handlers, mappings etc.
For this you have to add handler.
Open Internet Information Services (IIS) Manager and select your Web
application.
Under IIS area, double-click on Handler Mappings icon.
At the Action pane on your right, click on Add Managed Handler.
At the Add Managed Handler dialog, enter the following:
Request path: Reserved.ReportViewerWebControl.axd
Type: Microsoft.Reporting.WebForms.HttpHandler
Name: Reserved-ReportViewerWebControl-axd
Click OK.
For More Information Visit Mindmajix.

Comments