Вот фрагмент кода VB6:
myProjectDaoDB.Close
FileCopy myName, TempFile
где myName - это путь к базе данных. Эта база данных предположительно закрыта в первой строке. Кажется, что простого закрытия базы данных недостаточно для того, чтобы должным образом удалить весь доступ к базе данных, поскольку при запуске программы я получаю ошибку времени выполнения «70»: разрешение отклонено. Я знаю, что нет реальных проблем с разрешениями пользователей. Эта ошибка возникает только после сохранения в базе данных, поэтому я уверен, что что-то не закрывается должным образом.
Когда база данных открыта, создается файл блокировки. Если я запускаю этот код без внесения каких-либо изменений в базу данных, файл блокировки удаляется после выполнения первой строки. Когда я делаю изменения в базе данных, файл блокировки не удаляется. Нет ошибок при попытке закрыть базу данных, так почему она все еще там?
Обновление: я выполнил шаги здесь , чтобы выяснить, кто имеет связь с базой данных во время ошибки. Согласно результатам, когда я пытаюсь закрыть соединение без внесения изменений в базу данных, это только мое соединение. Когда я делаю изменения, я подключаюсь дважды . Тогда кажется, что myProjectDaoDB.Close не закрывает все соединения. Что дает?