Уважаемые жители форума, помогите в решении следующего вопроса:
Довольно длительное время создавал на Access базу данных.
Но вот возникла необходимость защиты базы данных от других пользователей.
Т.е. на изменения БД должны быть права только у меня, а на работу с БД у пользователей.
Под изменениями я понимаю — создание, удаление, изменение таблиц и запросов и т.д.(что должно осуществлятся мною и ни кем другим).
А работа это доступ пользователей к таблицам для добавление строк(данных).
Как я представляю себе существует метод установки пароля на всю БД, после чего запуск БД осуществлять с помощью бинарника (написанного например на C++) в котором зашит пароль к БД.
Прошу подсказать в каком направлении лучше двигаться для достижения необходимого уровня защитыю
Для меня необходимый уровень защиты понимается, как недопустимость изменения БД обычными пользователями, а так же системными администраторами(новичками в программировании).
Буду благодарен за ответы.
Re: как наиболее эффективно защитить БД написанную на access
Ваш вариант тоже будет работать, но требует много трудозатрат и не очень эффективен.
Посмотрите в сторону перехода на MS SQL Express, если его применить совмстно с Вашим вариантом (все равно приложение переписывать), код не сильно поменяется, экспорт импорт данных пройдет тоже без больших проблем ... Нет проблем с установкой дополнительных компонент для доступа к БД на новом компьютере ...
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Re: как наиболее эффективно защитить БД написанную на access
Здравствуйте, BOSSSS, Вы писали:
BOS> Как я представляю себе существует метод установки пароля на всю БД, после чего запуск БД осуществлять с помощью бинарника (написанного например на C++) в котором зашит пароль к БД.
После чего открываем бинарник и имеем все пароли на руках.
BOS> Прошу подсказать в каком направлении лучше двигаться для достижения необходимого уровня защитыю
В сторону серверных БД.
BOS> Для меня необходимый уровень защиты понимается, как недопустимость изменения БД обычными пользователями, а так же системными администраторами(новичками в программировании).
Ты зря так недооцениваешь умственные способности других людей.
Здравствуйте, BOSSSS, Вы писали:
BOS>Буду благодарен за ответы.
Если у тебя там всякая "машинерия" накручена (формочки-код на VB-отчеты), то можно смотреть в сторону встроенных средств защиты Access.
Просто запускаешь визард в меню Access, ставишь галочки, наслаждаешься результатом. Недостатки будут такие:
— Эти встроенные средства защиты весьма устаревшие и запутанные, требуют 2 файлов, MDB + MDW (файл "рабочей группы") вместо одного
— ЕМНИП их выбросили из баз "нового" формата Access 2007. Это значит что база должна иметь старый формат.
— Их можно заломать найдя соответствующую прогу в гугле
Если же у тебя там в базе нет кода и отчетов-макетов всяких, проще тупо уйти на базу,
которая бы поддерживала нормальную авторизацию, навроде SQL Express, как тут уже сказали.
Если что, база Access конвертится в SQL Express нажатием одной кнопки в меню Access.