Я получаю следующую ошибку в своем коде (c #, .Net 3.5, VS2008), когда я пытаюсь подключиться к листу Excel и заполнить OleDbDataAdapter результатами запроса. Сначала ошибка:
Попытка чтения или записи в защищенную память. Это часто
признак того, что другая память
коррумпированы.
А вот код, который, честно говоря, довольно прост:
var excelFileName = @"c:\Metadata_Tool.xlsm";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}; Extended Properties=Excel 12.0;HDR=YES;", excelFileName);
var adapter = new OleDbDataAdapter("Select * FROM [Video Tagging XML]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "VTX");
DataTable data = ds.Tables["VTX"];
foreach (DataRow myRow in data.Rows)
{
foreach (DataColumn myColumn in data.Columns)
{
Console.Write("\t{0}", myRow[myColumn]);
}
Console.WriteLine();
}
Console.ReadLine();
Я получаю сообщение об ошибке adapter.Fill(ds,"VTX");
. Я нашел сообщение на форуме Microsoft о том, что в VS2008 нужно включить оптимизацию JIT из меню Инструменты / Параметры / Отладка / Общее, но это, похоже, не помогло. Любая помощь будет принята с благодарностью!