Friday, February 4, 2011

Dundas and SSRS 2008 R2

I am in the process of upgrading our SQL Server Reporting Services 2008 to R2. One of the issues that I ran into is that in about half of our reports we use Dundas controls and the Dundas controls does not show up on the reports in SSRS 2008 R2. In the event viewer the following error is logged: Report Server (MSSQLSERVER) cannot load the DundasChartControl extension.

I am doing a side by side upgrade. That means that I have a brand new instance of SQL Server 2008 R2. Unfortunately I found poor documentation on how the upgrade would affect the Dundas controls. Microsoft does have one page dedicated to the upgrade process and how it affects custom controls but it's not very useful: http://technet.microsoft.com/en-us/library/ms143674.aspx.

With some trial and error I finally found the solution.

Copy over the Dundas Dlls (DundasRSChart.dll,etc) to the ReportServer's bin folder. E.g.C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin

Make sure you have this item in the rsreportserver.config file within the Extension tag:
<ReportItems>
   <ReportItem Name="DundasChartControl" Type="Dundas.ReportingServices.DundasChart,DundasRSChart" />
   <ReportItem Name="DundasMapControl"  Type="Dundas.ReportingServices.Maps.DundasMap,DundasRSMap" />
  <ReportItem Name="DundasGaugeControl"  Type="Dundas.ReportingServices.DundasGauge,DundasRSGauge" />
  <ReportItem Name="DundasCalendarControl"  Type="Dundas.ReportingServices.Calendar.DundasCalendar,DundasRSCalendar" /> </ReportItems>

In the ReportServer's rssrvpolicy.config, make sure this exists inside this tag:
<CodeGroup class="FirstMatchCodeGroup" version="1" PermissionSetName="Execution"
Description="This code group grants MyComputer code Execution permission. ">

<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="DundasChartControl" Description="This code group grants FullTrust to DundasChartControl assemblies.">
<IMembershipCondition class="StrongNameMembershipCondition" version="1" PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100d16006505277d0860ce7d429331480cb3b9711481cd51213259cf3b106e30156f5ef48262e0154e862fa05374e6c7cef5c4daa95b2272a73e503f0e5077c6b71a24176e67eadbff8e8765742f022e317194571de05d0ac9a4fca62fd355854ebe5a38969a831030018edad7d7405dd23d0710c9faf95acf16a4a14003bada5be" />
</CodeGroup>


After this restart the reporting services service and the Dundas controls should show up on the reports.