Файл Ghost .mdb

#database #vb.net #windows-8.1

#База данных #vb.net #windows-8.1

Вопрос:

Поэтому сегодня я пытаюсь, прежде всего, создать mdb-файл с VB.NET (2012) и DAO. Пожалуйста, смотрите следующее:

   Dim myEngine As New DAO.DBEngine


Sub CreateMDBFile()

    myEngine.CreateDatabase("C:WindowsTest.mdb", ";LANGID=0x0409;CP=1252;COUNTRY=0", 64)

End Sub
  

Кажется, это отлично работает. Код выполняется, и у меня есть другие подпрограммы, которые создают и заполняют таблицы. Я могу извлекать данные из наборов записей, целых 9 ярдов. Есть только одна странная проблема:

Когда я открываю Проводник, я не могу найти mdb-файл. Его там нет. Я имею в виду, что моя программа может найти его, открыть, заполнить и запросить, но что касается Проводника Windows, то там ничего нет.

Это ошибка Win 8? Почему мой mdb-файл не отображается в проводнике Windows?

Заранее спасибо,

Джейсон

Комментарии:

1. Вы уверены, что ваш проводник настроен на просмотр скрытых файлов?

2. Это действительно плохой каталог для размещения вашей базы данных. Вместо этого вы должны выбрать Environment.GetFolderPath(...) .

3. И, вероятно, возможность создать файл в этом каталоге означает, что вы снизили все меры защиты, предоставляемые операционной системой. Очень плохо для вашей безопасности

4. Забавно, насколько я согласен со всеми остальными в этом, я придерживаюсь требований моего клиента. И из-за его требований я получаю -1 голос. Несправедливо:-P

Ответ №1:

Когда приложение, не «запускаемое от имени администратора» (UAC), пытается выполнить запись в системную папку (включая подкаталоги Program Files), Windows больше не возвращает ошибку. Вместо этого файл сохраняется внутри %LOCALAPPDATA%VirtualStore . Это поведение началось в Windows Vista.

http://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx

СОВЕТ: Не сохраняйте пользовательские файлы в системные папки.

Комментарии:

1. Спасибо за это. Теперь, похоже, мне нужно начинать новую тему о том, как запускать эту маленькую программу от имени администратора каждый раз, без запроса. Спецификации для этого проекта — ужасная боль…