Jam*_*Orr 12 c# sql web-services reporting-services
给定:AC#计算引擎加载对象模型,压缩大量数字,并将结果保存到SQL Server中的几个巨大的索引数据库表中.这些表为Web界面,其他软件模块和SQL Server Reporting Services 2005报告提供数据.
我设法让发动机上的很多在软件的最新版本速度更快,速度不够快,现在,它可以要求提供数据-有时甚至比它需要在数据库中查询预先计算的数字的时间更快.我对此感到非常高兴.
这一突破意味着我们可以根据Web界面和其他软件模块的请求生成数据.但是缓存表还不能消亡,因为它们被SSRS报告(或者更具体地说,是通过查询表并将数据提供给SSRS的存储过程)使用.
缓存表很痛苦,就像任何缓存都是软件世界的痛苦一样.没有太多的细节,他们有同步问题,锁定问题等等.如果我不必担心保持这些darned表更新,软件将更好地工作.
但我怎样才能将数据导入SSRS?我做了很多研究,没有什么看起来太有希望了:
如果我理解正确,那么您正在构建有关非SQL数据的报告.您将数据存储在表中,以实现使其可报告的特定目的.
我能想到两个解决方案.第一种是使用报告部分扩展您的C#计算引擎.Microsoft.Reporting.WinForms和Microsoft.Reporting.WebForms命名空间可用于在任何数据源上构建报告,而不仅仅是SQL Server.如果最终用户将您的应用用作客户端,则可以即时生成数据和报告.
第二种是使用SQL CLR.您可以使用CLR存储过程作为报告的基础(输入"exec mysp"作为数据源.)此CLR过程是C#代码,可以将您的计算引擎包含为库.这样您就可以动态生成报告,同时仍然使用Report Server用户界面.
有趣的问题,我希望更有知识的人能提供更好的答案:)