C# 读取大型.accdb文件引发异常“;现有连接被远程主机强制关闭;

C# 读取大型.accdb文件引发异常“;现有连接被远程主机强制关闭;,c#,asp.net,.net,ms-access,C#,Asp.net,.net,Ms Access,我调试了一些旧的ASP.NET应用程序,它们试图读取一个巨大的.accdb文件(大约550000行)。代码如下: OleDbConnection sourceConnection = new OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + destinationFile); OleDbDataAdapter sourceAdapter = new OleDbDataAd

我调试了一些旧的ASP.NET应用程序,它们试图读取一个巨大的.accdb文件(大约550000行)。代码如下:

OleDbConnection sourceConnection = new OleDbConnection(
            "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + destinationFile);
        OleDbDataAdapter sourceAdapter = new OleDbDataAdapter("select * from [" + tableName + "]", sourceConnection);
        DataSet sourceDataSet = new DataSet();
        try
        {
            sourceConnection.Open();
            sourceAdapter.AcceptChangesDuringFill = false;
            sourceAdapter.Fill(sourceDataSet, tableName);
        }
        catch (Exception ex)
        {
            _trace.TraceEvent(TraceEventType.Error, 0, ex.Message);
        }
        finally
        {
            sourceConnection.Close();
        }
在某个时刻,我遇到了一个例外:

“无法从传输连接读取数据:远程主机强制关闭了现有连接”

有人知道它可能是什么以及如何修复它吗?
据我所知,重写SQL查询以按小块检索数据是最好的选择。

我只需使用access内置的升迁向导将其全部放入SQL Express数据库,并更改连接字符串

请注意,不要这样做:

"select * from [" + tableName + "]"
将其改为参数化查询

"select * from [" + tableName + "]"