如何加快加载数据集
Posted
技术标签:
【中文标题】如何加快加载数据集【英文标题】:How To Speed Up Loading DataSets 【发布时间】:2011-01-07 17:55:50 【问题描述】:在使用 SQL Server Reporting Services(客户端报表)时,每当客户端 (rdlc) 报表打开 Visual Studio 加载整个应用程序数据集时,
如何加快加载所有数据集或如何更改流程以仅加载特定数据集以在报告中使用?
【问题讨论】:
【参考方案1】:Bulk Insert(或 bcp 实用程序)是您快速导入数据的朋友。不过,您可能不得不用某种语言编写数据加载器。
【讨论】:
【参考方案2】:数据库快照可能是一个选项 http://www.sql-server-performance.com/articles/dba/sql_server_database_snapshot_p1.aspx
【讨论】:
【参考方案3】:我可能理解您的问题是错误的,但在 Win Forms 上我一直在手动加载所需的数据集。我基本上有一个方法可以从我的数据库中加载正确的数据,使用 Me.ReportViewer1.LocalReport.DataSources.Add 将所需的数据集附加到我的报表查看器,然后我只使用 Me.ReportViewer1.LocalReport.ReportEmbeddedResource 显示我的报表。我的报告是嵌入式资源,但您也可以从文件中加载它,我只是想不起来。加载完所有内容后,调用 RefreshReport 并显示报告。嗯,这些是要点,我没有要查看的代码,但我知道这些是基本步骤。
目前我一直在研究如何在用户浏览报表时动态加载数据集。我目前的解决方法是捕获 ReportError 事件,检查试图从发送者显示的报告(这是报告查看器对象),并使用上述方法加载数据集。我遇到的唯一问题是,此时我加载数据集时没有加载屏幕,所以看起来我的应用程序冻结了。我还没有想出如何回到那个循环加载屏幕,但是现在,我有一个加载窗口,它会在我加载时显示。请记住,当您收到错误消息时,尝试显示的报告已设置为本地报告,因此您只需使用 case/if 语句检查报告并根据需要加载数据。
【讨论】:
【参考方案4】:你不能设置一个默认参数来停止返回很多东西,并且只在运行时将其更改为真实参数吗?
【讨论】:
以上是关于如何加快加载数据集的主要内容,如果未能解决你的问题,请参考以下文章