在 Visual Studio 2008 发布的时候,SQL Server Reporting Servers 2008 还没有出来。这就意味着微软只能发布一个仅支持 SQL Server 2005 RDL 格式的 ReportViewer 控件。根据 Brian Welcker 在 2007 年的一篇博文所述,微软将在 2008 年提供对 SQL Server 2008 的支持。虽然这并非官方的允诺,但开发者们听到这个承诺无法按期兑现时还是感到失望至极。Brian Welcker 说直到Visual Studio 2010 发布的时候微软才会提供新版本的ReportViewer 。
ReportViewer 的版本间隔经历了很长一段时间,人们都在想微软最终一定会保证所有产品的同步。然而遗憾的是事实并非如此。Brian 在一篇博文中说到, VS 2010 版的 ReportViewer 将不再支持 SQL Server 2005 报表了。这就意味着开发者在迁移到.NET 4.0 的时候不得不同时升级所有的 SQL Server 报表。
与此同时,SQL Server 团队一直在忙于 SQL Server 2008 R2 的开发。由于是修订版而非全新的版本,人们期望它会兼容于 SQL Server 2008。但事实却并非如此。William Vaughn 提交了一份 bug 报告,抱怨 VS 2010 与 SQL Server 2008 R2 CTP 并不兼容。根据 Stella Chan 所述,这并非微软的疏漏,而是一个设计上的决策。对于报表的创建来说,她推荐使用 Business Intelligence Development Studio;而对于在 Windows 和 ASP.NET 中报表的查看来说,她并没有推荐任何工具。
通过 William 的博客,我们了解到其他厂商也都对此虎视眈眈。比如,IBM developerWorks 就在借机推销自己的产品。
对此的解决方案看起来并不复杂。从Visual Studio 的发布中完全移除ReportViewer,并将其作为SQL Server 的插件使用(每个版本都有自己的插件)。这么做还能保证每个版本的向后兼容。
查看英文原文: Visual Studio/SQL Server Reporting Services Continue to be Incompatible
评论