У меня тоже была эта проблема.
Я использовал OpenFileDialog для выбора файла Excel, затем считал данные с помощью .net Oledb и записал данные в базу данных Access.
Первый раз: ОК
Второй раз, после выбора файла, появилось это сообщение: Попытка чтения или записи в защищенную память
Мое решение:
Форма «A» с OpenFileDialog и кнопкой для отображения и выбора файлов и:
openFileDialog1.ReadOnlyChecked = true;
openFileDialog1.ShowReadOnly = true;
Форма "Б"
С get / set, чтобы установить имя файла для чтения
Метод для чтения файла Excel и записи в Access db.
Из "A" отправьте имя файла для чтения в форму "B"
Загрузить форму «B», выполнить основной процесс, просмотреть результаты и закрыть форму
По возвращении «А» я могу выбрать другой файл и повторить процесс без ошибок
Больше нет ошибки «Попытка чтения или записи в защищенную память»
Я не знаю, является ли это лучшим решением, но приложение работает хорошо.
Привет