Я получаю следующую ошибку в моем коде (C#, .Net 3.5, VS2008) при попытке подключиться к листу Excel и заполнить OleDbDataAdapter результатами запроса. Первая ошибка:Странная ошибка при заполнении адаптера данных
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
А вот код, который честно довольно просто:
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");
. Я нашел сообщение на форуме в Microsoftsoft, чтобы включить оптимизацию JIT в VS2008 из меню Tools/Options/Debug/General, но это, похоже, не помогло. Любая помощь будет принята с благодарностью!
Я дал это попробовать, и хотя вы правы в отношении форматирования, к сожалению, это не решило проблему. Я получаю ту же ошибку. –
@Tim C: Вы уверены, что файл есть? С использованием правильных разрешений? Вы пытались открыть его в Excel? Вы пробовали этот же код в новом, незаполненном файле Excel, который вы создали вручную только с несколькими строками? – Aaronaught
Кажется, что с файлом Excel! Файл находился в правильном месте и имел все разрешения, но когда я перешел на другой файл, он работал нормально. Что-то испорчено этим. Спасибо! –