Monday, May 2, 2011

rsInvalidDataSourceReference on a Microsoft SQL Server Reporting Services Report


When you deploy reports that were working on one SQL Server Report Server to another without Visual Studio or BIDS you sometimes get errors like: The report server cannot process the report or shared dataset. The shared data source 'MyDataSource' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. (rsInvalidDataSourceReference). This typically does not occur on Development environment because developers use Visual Studio to deploy reports. However, when same reports are deployed to QA or Production environment such errors frequently occur.
Problem is that giud that are referring to data sources are different in different versions of the database.
Execute following script against ReportServer database:
select *
from dbo.DataSource ds
where ds.link is null

The following script may resolve your problem. Again, you have to execute against Reporting Server database. If you are happy with results replace rollback with commit statement:

begin tran
update dbo.DataSource
set Link = c.ItemID
from dbo.DataSource ds
inner join dbo.Catalog c
on ds.Name = c.Name
and c.Type = 5
where ds.link is null

select ds.Link oldlink, c.ItemID
from dbo.DataSource ds
inner join dbo.Catalog c
on ds.Name = c.Name
and c.Type = 5
--where ds.link is null


select *
from dbo.DataSource ds
where ds.link is null

rollback tran
-- commit tran

Thursday, April 7, 2011

How to get rid of IE6?

Some organizations are still (April 2011) using IE 6 as standard (and mandatory) browser. Reason is typically that they have some applications that use one of the technologies (such as ActiveX) that can run only in IE6.
I consider their IT managers "very brave". It is a ticking bomb with many holes that can expose whole infrastructure of an organization.
How to resolve this issue? Some organizations are trying to identify legacy applications, convert them they planning to move to IE 8 (although IE 9 is out already).
Alternative solution is to install another browser like FireFox or Google Chrome in parallel and have people working in it most of the time and use IE (6) only when it is necessary.