Оба метода безопасны в том смысле, что файл не будет передан удаленному клиенту (если только вы не создадите виртуальный путь к папке db. Файлы, не обслуживаемые с сайта, регулируются разделом httpHandlers в web.config). :
<add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
Любой тип файла, добавленный здесь с типом = HttpForbiddenHandler, не будет обслуживаться.
Где разместить файл Access - дело вкуса и доступа. Если вы разместите его за пределами своего сайта, то есть в папке db, вам придется настроить разрешения для учетной записи приложения, которую вы используете для своего сайта / приложения. Поместив его в папку App_Data, вы готовы к работе. Кроме того, если вы находитесь в среде хостинга, вы не сможете разместить файл Access вне папки сайта.
Мои 2 цента: перейдите в папку App_Data.
.håkan