ACE OLEDB 驱动程序是否存在较大文件的任何已知问题?我正在使用以下代码检索 400Mb xls 文件中的工作表
public string[] GetWorkSheets()
{
    var connectionString  = "Provider=Microsoft.ACE.OleDb.12.0; data source=c:\filepath\filename.xls; Extended Properties=\"Excel 8.0;IMEX=1;HDR=YES;\"";
    DataTable dataTable;
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        connection.Open();//Exception thrown here for large files
        dataTable = connection.GetSchema("Tables");
    }
    int lenght = dataTable.Rows.Count;
    string[] worksheets = new string[lenght];
    for (int i = 0; i < lenght; i++)
    {
        worksheets[i] = dataTable.Rows[i]["TABLE_NAME"].ToString();
    }
    return worksheets;
}
我收到一个 OleDbException 消息系统资源超出。我没有在循环中调用这个函数,也没有在到达这里之前打开任何其他连接。此代码非常适用于较小的文件。
我的系统有 4Gb RAM。在 Windows 7 64Bit 上运行。Ace 驱动程序也是 64 位的。
知道可以做些什么来解决这个问题吗?