No underline shown on links, Action, Hyperlink, Drillthrough in Reporting Services R2 and Denali

If you’re using the ReportViewer 8.0 web control for Reporting Services 2005 in your web application and pointing at Report Server version R2 or Denali then you may see this bug – some font properties such as Color and TextDecoration do not render on an Action element (used for BookmarkLink, Hyperlink and Drillthrough). To get round this you can turn your property values to expressions e.g. change:

<TextDecoration>Underline</TextDecoration>

to:

<TextDecoration>="Underline"</TextDecoration>

Thanks to JhonnyGaleano for the tip-off on msdn forums

Here’s the full, fixed RDL for a Textbox with Action and Drillthrough:

<TextboxName=section_0_FullName>

<Style>

  <BorderColor>

   <Default>#2F5098</Default>

  </BorderColor>

  <BorderStyle>

   <Default>Solid</Default>

   <Right>None</Right>

  </BorderStyle>

  <BorderWidth>

   <Default>0.1mm</Default>

  </BorderWidth>

  <BackgroundColor>=IIF(RowNumber(Nothing) Mod 2, “#ffffff”, “#faf9f7″)

  </BackgroundColor>

  <FontStyle>=”Italic”</FontStyle>

  <FontFamily>=”Tahoma”</FontFamily>

  <FontSize>=”8pt”</FontSize>

  <FontWeight>=”Bold”</FontWeight>

  <Format />

  <TextDecoration>=”Underline”</TextDecoration>

  <TextAlign>Right</TextAlign>

  <Color>=”#00ff00″</Color>

  <PaddingLeft>1mm</PaddingLeft>

  <PaddingRight>1mm</PaddingRight>

  <PaddingTop>0.5mm</PaddingTop>

  <PaddingBottom>1mm</PaddingBottom>

</Style>

<Action>

<Drillthrough>

  <ReportName>/RSinteract Samples/Orders by Category</ReportName>

  <Parameters>

   <ParameterName=FullName>

    <Value>=Fields!FullName.Value</Value>

   </Parameter>

   </Parameters>

  </Drillthrough>

</Action>

<Value>=Fields!FullName.Value</Value>

<CanGrow>true</CanGrow>

<DataElementName>FullName</DataElementName>

</Textbox>

As this problem doesn’t affect reports viewed through Report Manager on Denali I’m guessing it only affects earlier versions of ReportViewer – if so, you may find it easier to upgrade your web application to use the latest ReportViewer control.

If you want help updating large numbers of existing reports then please get in touch below or through our contact form – we have plenty of code we could put together to create a mass report-update tool…

Passing parameters to a report

Lately we’re getting more and more interest from multitenancy SaaS providers and OEM partners who want to integrate RSinteract into their web applications. A really useful feature of RSinteract is the ability to link to a report from a 3rd party application and pass filter values and UI parameters on the URL.

To do this with a report based on a SQL Server or Oracle data source:

For a report based on an Analysis Services OLAP data source:

  • Create a report with filters, or use this sample report which comes with RSinteract: http://localhost/RSinteract/?/RSinteract+Samples%2fSales+by+Country+(OLAP)
  • Open the report and hover over the parameter in the left hand sidebar
  • Note the RDL field: Date_Fiscal
  • Hold ctrl and double click on the empty bit of sidebar below the Filters panel, click OK to hide the popup message and you’ll see the Reporting Services toolbar at the top of your report
  • Note the parameter value {[Date].[Fiscal].[Fiscal Year].&[2004]}
    • Remove the braces { }
    • Change ampersands to %26
    • Change [ to %5b
    • Change ] to %5d
    • Separate the parameters with &
    • Replace any spaces with %20
    • Parameter names are case-sensitive
  • Put your new URL together by adding: &Date_Fiscal=%5bDate%5d.%5bFiscal%5d.%5bFiscal%20Year%5d.%26%5b2003%5d
  • Try your new URL …Sales+by+Country+(OLAP)&Date_Fiscal=%5bDate%5d.%5bFiscal%5d.%5bFiscal%20Year%5d.%26%5b2003%5d

Notes:

  • Any errors in the report frame are probably due to invalid parameters – if you’re not sure about your parameter values then paste them directly into the Reporting Services toolbar and hit the “View Report” button
  • You don’t need to pass all of a report’s filter parameters on the URL, those not passed will use the normal report defaults.
  • If your Filters tab has the ‘Always Ask’ option ticked you’ll need to add “&rsi:noq=1” to the URL to tell RSinteract not to show the question screen.
  • The rsi:noq=1 option only works if all parameters in the report have a default value or a value is passed on the URL.
  • Make sure you keep everything case sensitive.

A connection could not be made to the data source – error occurs after renaming a SQL Server

I recently hit this problem after renaming a development server (see Renaming SQL Server and Reporting Services). The error below was displayed by Reporting Services in my ReportViewer control when I tried to drill-though on an Analysis Services OLAP report (our drill-through reports are auto generated by RSinteract: they use MDX against the Cube which takes its data from the SQL Server data warehouse)

An error has occurred during report processing.

Query execution failed for dataset ‘dataset_0_drillthrough’.

Server: The operation has been cancelled. Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of ‘RSinteract Samples DW’, Name of ‘Internet Sales Order Details’ was being processed. Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of ‘Adventure Works DW’, Name of ‘Adventure Works DW’. OLE DB error: OLE DB or ODBC error: Login failed for user ‘NT AUTHORITY\ANONYMOUS LOGON’.; 42000.

This was because the Cube was still pointing to the old server name. To fix this I had to:

  • Connect to Analysis Services using SQL Server Management Studio
  • Select the database’s Data Sources and right click on each one
  • Click on the “Connection String” then click on the “…” button which appears
  • Click “Test Connection”
  • Fix failed connections

RSinteract Imminent Release

We’ve been really busy over the last year adding new features and working with our partners to integrate RSinteract with their web applications. The result is currently a beta release available for download here. New features include:

  • Multitenancy support through custom data and security extensions
  • Support for SQL Server 2008 R2 and Windows 7
  • Intelligent data discovery and cleansing of table and field names
  • Blank value matching in filters and conditional formatting
  • Ability to add links and drill-through to charts and indicators
  • Improved date search and caching for OLAP data sources
  • Improved editing of field width and font formatting

In the next few months we’ll be working on support for Oracle data sources; a configurable meta layer for field names, formatting and joining; and dynamic filters such as this week and year to date. Watch this space…

Enable remote errors in Reporting Services 2005 or 2008

Often when errors occur on the database or cube RSinteract and Reporting Services reports will fail with the following error: 

An error has occurred during report processing.
 Query execution failed for data set ‘dataset_0′.
  For more information about this error navigate to the report server on the local server machine, or enable remote errors

In order to see a better description of the error you can either RDP onto the server and run the report or…  

To enable remote errors in Reporting Services 2005 or 2008 run this statement in SQL Server Management Studio: 

Use ReportServer;
update ConfigurationInfo set Value = ‘True’ where Name = ‘EnableRemoteErrors’;

You then need to reset IIS

There are more options here: http://technet.microsoft.com/en-us/library/aa337165(SQL.90).aspx

And here: http://technet.microsoft.com/en-us/library/aa337165.aspx

 

So now if you re-run the report you can see it’s a data source error – a field name has been changed in the database:

An error has occurred during report processing.
 Query execution failed for data set ‘dataset_0′.
  Invalid column name ‘myNewField2′.

Further Information on Report Viewer Client Print Control bug

A while back I wrote a post about the “Unable to load client print control” error that Report Manager (and RSinteract) was throwing after Microsoft’s auto update KB956391.

I also asked a question over at StackOverflow which I ended up answering myself. Yesterday follow up information was added, which may be of use if you have trouble with the fix.

EY Kalman says:

I have had the same problem (on several different servers). Applying SP3 and Report Viewer SP1 has helped on some of the servers, allowing the client machines to connect and download the control with no problem. However, I have had one server that, even after applying the updates, when accessing the report viewer using a client machine, it was still giving me the error. On looking into the exact URL GET request that is being sent, I discovered that it is possible to force the client machine to connect directly to the Report Server to download the control.

The user would need to enter the following url:

http://reportservername/Reports/Reserved.ReportViewerWebControl.axd?ReportSession=51bjqv45xydgos2wghu5ceza&ControlID=7617dedbf0234f89b80cad8e64431014&
Culture=2057&UICulture=9&ReportStack=1&OpType=PrintHtml

This should then pop up the required download/install prompt.

dotnettrio added (which is probably more relevant to RSinteract):

Hi,

I got this working with out removing any patches. The above patch was not working too. Finally what I did was on the IIS server install the following patch and reset / restart the IIS server. This is not for report manager application. This is for any ASP.NET Web application developed in .net3.5 using VS2008 http://www.microsoft.com/downloads/details.aspx?familyid=6AE0AA19-3E6C-474C-9D57-05B2347456B1&displaylang=en

I hope this helps anyone else with this problem.

IE6 Retiring

After 8 long years the browser that everybody loves to hate is being automatically retired by Microsoft. Although there is a way to avoid the upgrade if your business has the problems later in this post.

To be fair to it, IE6 helped make the web what it is today. Its quirks mode rendering enabled anybody to code a web page with little regard to well-formed HTML or standards. This caused many a developer to hate it because it renders things differently to other browsers and often caused a lot of extra work because it takes so long to get it working in both.

Most of the anger directed at IE6 has to do with the differences with the W3 Consortium’s standards. However, when it was released these standards were not concrete and it was unclear if they would even be adopted ubiquitously.

Many companies have ignored Firefox and stuck with IE6 because of the huge costs involved in deploying and testing all their internal applications on their networks.

RSinteract is Internet Explorer only and will continue to support IE6 and IE7 for the foreseeable future because of this very reason. The web is changing and more and more people are becoming aware of other browsers such as Google Chrome. Perhaps in future we will move towards cross browser support but for now we are very much tied to Internet Explorer.

RSinteract 3.6 Released!

The new version 3.6 release is live and ready for download!

full_features

New Features:

  • New formatting options including: Font, Font Size, Font Style
  • Instant formatting options from the field selection screen
  • New conditional formatting options
  • Indicator images in the report for creating simple instant dashboards.
  • Add tables and fields to existing SQL data sets
  • Selectable Join types for joining tables from the front end
  • Support for SQL Server 2008
  • Improved field selection in the new report wizard
  • New tree structure for creating SQL reports making it even faster and easier to find the data you want.
  • New tree structure in the SQL filter screen drop downs to allow quicker selection of filter field
  • Updated Look and Feel
  • Improved Custom Fields Editor
  • Report Branding support
  • SSL compatibility
  • 64 bit compatibility

There are also improvements to the admin tool, and a ton of bug fixes.

You can download the free and fully functional 30 day trial at http://www.rsinteract.com/download/eval.html

Dogfooding RSinteract

On any software project it’s important for managers to have some sort of system in place to keep track of how long tasks are taking and how much time has been spent collectively on a project. Gathering this data is fairly easy (with the right tool), for RSinteract we have a TimeBooking application written internally that collects the data. It’s fairly simple: client, task, comments, lots of drop downs for each half hour slot in the day. It works.

The problem is getting this data in a useable form to make decision on… but wait! We’re making a reporting tool. What better way to look at our time booking data than in a nicely formatted report!

Here’s an example of my time as booked back in the second week of December. I’ve quickly made a weekly time sheet using our _Reporting view in the time booking database with filters for employee and week commencing. I can now save this and look at anyone’s time for any given week! Clever eh?

dogfood

Using products internally like this is known in the industry as “dogfooding” as in “eats its own dog food”. This gives us a good idea of how our clients may use the software and also highlights problems that we might not otherwise pick up in our usual testing.

The XML page cannot be displayed

I’m just setting up RSinteract on a client’s 64 bit server which has Windows 2003 and SQL 2008. With most RSinteract installations IIS is installed as a prerequisite to Reporting Services but IIS isn’t needed for Reporting Services 2008. I guess this will become a common sticking point with SQL 2008 installations so here’s the solution…

The first problem I got was in the RSinteract installer (whoops, should have copied the error message) so we installed IIS and then RSinteract. When I hit the site I got this error:

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


A name was started with an invalid character. Error processing resource ‘http://myserver/RSinteract’. Line 1, Positio…

<%@ Page EnableViewState="false" Language="c#" ValidateRequest="false" AutoEventWireup="True" Codebehind="Main.aspx.cs" I…

I guess this is because IIS isn’t configured for ASPNET by default so I ran:

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –i

Which gave me the following error:

The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible.

So I made a slight change to point to the 64 bit .NET folder:

%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

After an iisreset I was now getting a 404 error from aspx pages, the final step was to open IIS (type inetmgr at the command prompt) and go to the “Web Service Extensions” node and enable ASP.NET v2.0.50727. Another iisreset for good measure and we’re now up and running:)

Follow

Get every new post delivered to your Inbox.