Почему UCanAccess нужен пароль, а Jackcess нет?

Недавно я использовал (тестировал) оба решения для получения некоторых данных из Access (файл MDB). И я понял, что Jackcess не нужен пароль для доступа к данным базы данных, а UCanAccess работает, только если я ввожу пароль (если он есть в базе данных).

Итак, что же происходит на самом деле? Если Jackcess является зависимостью UCanAccess, зачем ему пароль? Или почему Jackcess не требует пароля?

Спасибо!


person Leo Ribeiro    schedule 07.10.2015    source источник
comment
wtf может восприниматься как нечто невежливое... в любом случае, если вы действительно хотите защитить паролем свой файл доступа, вы должны его зашифровать. В противном случае реализациями API верхнего уровня (MS Access через ODBC или GUI, UCanAccess) будет применяться только блок на основе слабого кода.   -  person jamadei    schedule 08.10.2015


Ответы (1)


Когда пароль базы данных назначается базе данных .mdb старого формата, файл фактически не шифруется. (В старых версиях приложения MS Access была отдельная опция для шифрования файла, но даже эта защита была довольно слабой.)

Если файл не зашифрован, Jackcess не требует пароля для его открытия. На самом деле, Jackcess предоставляет способ получить пароль базы данных из незашифрованного (но «защищенного паролем») файла .mdb.

Как указано в комментарии к вашему вопросу, команда разработчиков UCanAccess решила придерживаться других методов доступа к данным более высокого уровня и требовать, чтобы пользователь вводил правильный пароль при открытии базы данных. Если вы действительно хотите избежать кодирования пароля базы данных в приложении UCanAccess, вы всегда можете

  • сначала откройте файл базы данных с помощью Jackcess,
  • использовать вызовы Jackcess для получения пароля базы данных,
  • закройте соединение Jackcess с базой данных, а затем
  • укажите пароль базы данных при открытии соединения UCanAccess с базой данных.

Обратите внимание, что при применении пароля базы данных к базе данных .accdb нового формата файл действительно зашифрован, поэтому и Jackcess, и UCanAccess требуют правильного пароля (вместе с дополнительным компонентом «Jackcess Encrypt», а также зависимостями ), чтобы открыть его.

person Gord Thompson    schedule 08.10.2015