Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 导出到Excel内存不足异常_Sql_Vb.net_Out Of Memory_Export To Excel - Fatal编程技术网

Sql 导出到Excel内存不足异常

Sql 导出到Excel内存不足异常,sql,vb.net,out-of-memory,export-to-excel,Sql,Vb.net,Out Of Memory,Export To Excel,我有一个用vb.net编写的应用程序,用户可以在其中导出文件。对于这个特定的文件,我有以下代码- Private Sub lnkExcelTier2Tier1LinkGet_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkExcelTier2Tier1LinkGet.Click Dim dt As Data.DataTable Dim reportName As String

我有一个用vb.net编写的应用程序,用户可以在其中导出文件。对于这个特定的文件,我有以下代码-

  Private Sub lnkExcelTier2Tier1LinkGet_Click(ByVal sender As Object, ByVal    e  As System.EventArgs) Handles lnkExcelTier2Tier1LinkGet.Click

    Dim dt As Data.DataTable
    Dim reportName As String = Me.lblReportTitleTier1Tier2.Text.Trim()

    Try
        'Grabbing my stored procuder that will be used to get the data
        Dim D As OOBusinessLayer.Common.Dynamic = New OOBusinessLayer.Common.Dynamic("GeneralReporting", "Tier2Tier1LinkGet")

        'Populate table with data
        dt = D.Get()

        'Export data table to excel
        ExportReportVIASuperGrid(dt, reportName, "XLSX")
在导出函数中,我不断得到System.OutOfMemoryException错误。在执行步骤时,虽然填充数据的速度非常快,但在导出时会挂起

在数据库端,我有一个视图,然后存储的procurdre只从视图中执行select*。它提取180000行(12列),从SSMS查询时需要3秒钟

如果我将查询编辑为仅拉取100行,它将平稳运行,因此问题似乎是拉取了大量数据。但是用户需要完整的数据集

有时“导出”按钮起作用,我能够检索文件,但大多数时候我收到System.OutOfMemoryException错误(所有数据量相同)


我是否可以做些什么来绕过内存不足异常,并仍然提供完整的数据集?谢谢。

导出到Excel时是否使用DevComponents中的SuperGrid?是否填充dt并绕过导出?我使用的是导出器。我从来没有实际填充网格。