Я работал с этим сценарием много. На самом деле, поскольку бэкэнд SQL Server фронтэнда Доступа консультанта/разработчика был значительной частью моей работы хлеба с маслом за прошлые 10 лет. Который не означает меня как Доступ ;-)
Вплоть до общего принятия Ajax, это было совершенно разумное решение. И существуют все еще огромные количества малых и средних приложений, соединенных в Доступе там, которые выполняют сделанные на заказ бизнес-системы отлично счастливо, и я сомневаюсь, что он собирается уйти в течение следующих 10 или больше лет - действительно, Доступ/SQL, вероятно, будет Коболом 21-го века. Если Вы работаете над сайтом 'зеленого поля' затем нет теперь фактически никакого оправдания за развертывание Доступа при создании с нуля - но если Вы действительно наследовали существующее приложение затем, затраты на переписывание не могут стоить и могут быть трудными передать с пользователями.
Доступ действительно имеет некоторые преимущества, которые являются все еще значительными - и могут представить проблемы, предложив преобразовать в веб-приложение
Основные практические недостатки
, Таким образом, я сказал бы, что Доступ все еще имеет место, и это - использование, defendable во многих ситуациях с реальным миром, но все больше лучше выбрать более современное решение, если обстоятельства разрешают.
Мы создали такое решение (Фронтенд доступа, бэкэнд SQL), с теперь чем-то как 80 пользователей, миллионы строк копировали между разными странами, больше чем 100 000 обновлений в месяц. Это хорошо работает. Я думаю, что основная ошибка о Доступе состоит в том, чтобы считать это как инструмент сделанным, чтобы любители разработали приложения. Это может проложить себе путь, но иметь в виду, что любительская разработка даст Вам любительские приложения, в то время как профессиональная разработка даст Вам профессиональные результаты.
А быстрый список его преимуществ, проблем и пределов:
Как заключение, нашей основной проблемой с Доступом является проблема изображения, где Microsoft все еще позволила людям думать, что Доступ здесь, чтобы дать им возможность разработать реальный sofware на 10 уроках... и профессионалах, которые знают, что это не возможно, просмотрите его как любительский инструмент для любительской разработки, смотря свысока на пользователей доступа мс как на скучных низких жлобов IQ.
Я знаю довольно много профессиональных разработчиков Доступа, которые разработали и поддержали приложения уровня Предприятия с помощью Доступа в качестве фронтэнда (или MDB или ADP) и поддерживая пользовательское население в 100 с (и даже в нескольких случаях, тысячах).
Как любая разработка приложений уровня Предприятия, это требует более высокого уровня программирования навыка, чем создание небольшой базы данных Access для Вашего отдела с 5 людьми.
Достаточно странно, принципы разработки, которые делают для эффективного приложения уровня Предприятия также, делают для более эффективного приложения Доступа уровня рабочей группы.
я думаю причина, которую большинство людей, отправляющих в этом потоке, не может задумать его, как хорошее решение просто, потому что они никогда не видели сделанный правильно или самостоятельно не сочувствовали модели разработки тот Доступ использование.
Да, трудно сделать правильно.
, Но на том уровне, так любая платформа разработки - все они требуют планирования, опыта и высокоуровневого набора навыков.
И Вы можете обрывок на приложениях Доступа, разработанных людьми безо всего того (Предприятие или не), но откровенно говоря, я встретился с полной лодкой приложений небазы данных Access всех видов, которые невероятно плохо реализованы.
закон Sturgeon применяется везде, и нет никакой причины предположить, что разработка Доступа несколько отличалась бы.
Для большого количества CRUD (Создают Обновление Чтения, Удаляют), работа, Доступ MS в порядке. Я более уверен в нем, если данные находятся в другом механизме (MSSQL/Oracle/MySQL). Однако большую часть времени у меня есть проблемы с базой данных Access MS, которая это потому что:
Мое решение. Ограничьте Доступ MS к pro's и разверните версию среды выполнения на пользовательских рабочих столах.
Я начал делать настольные приложения в Доступе со СТРУЙНЫМИ бэкендами. Я переместил до использования SQL Server / механизм данных Microsoft с Доступом как фронтенд и затем VB6 и поверхностное знание классического ASP.
существует много причин "enterprisey" пойти с "реальным" средством разработки как Visual Studio. Для масштаба Вы справляетесь, тысячи пользователей, я думаю, что те причины могут применяться.
Тем не менее я думаю, что существуют сценарии, где это все еще работает для использования Доступа. В моем собственном опыте я отступил к Доступу с базой данных SQL при предоставлении мандата придумать решение для предприятия, хотя для намного меньшего предприятия, в очень короткий промежуток времени. Главная причина, управляющая моим решением, пришла время. Я могу соединить базу данных UI in Access очень, намного быстрее, чем я могу в каком-либо другом инструменте. Часть этого является знакомством с инструментом, но многое из него - то, что Доступ просто дает Вам больше базы данных определенные для цели биты для работы с из поля. Доступ UI можно также настроить, чтобы посмотреть и работать очень как стандартное приложение WinForms.
помеха, с которой многие сталкиваются в сценарии предприятия, прокручивает Доступ и приложение MDB/MDE к массам. Это легко разрешено путем установки его в Windows Terminal Server, который может также быть подстроен для работы почти как другое окно приложения на клиентской машине с правильными параметрами файла RDP. Но даже что подход имеет свои пределы. Я не думаю, что это масштабировалось бы в тысячи очень хорошо, но для нескольких дюжин пользователей, я нашел, что это работало просто великолепно и купило достаточно времени для встречи ограничений времени, я должен был работать с так веб-интерфейсом, мог быть реализован, когда время позволило.
Для профессионала, который знает то, что они делают в базе данных SQL, фронтэнд Доступа является не обязательно непростительным грехом, особенно когда мандат является дешевым и быстрым и нет религиозного включенного пуризма.
Если у Вас есть выбор, нет.
Однако существуют ситуации, где это может быть в порядке. Одна ситуация состоит в том, если Вы никогда не планируете обновление приложения доступа. Если это установлено для тысяч пользователей, можно столкнуться с проблемами, получающими все клиентские обновленные приложения.
Вы - очень более обеспеченное создание веб-фронтэнда... Хотя Доступ делает несколько форм основной детали легче, чем что-нибудь, что я видел. Even Oracle Application Express, предназначенная для конкуренции с Доступом, не может сделать всего, что делает Доступ.
Мой совет состоит в том, что, если Вы - программист, можно сделать приложение asp.net, которое сделает то же задание в намного более масштабируемый, удобный в сопровождении, природа.
К сожалению, у меня есть довольно мало опыта с этим. Мы создали весь продукт вокруг Форм Доступа, набрасывающихся на базу данных SQL. Честно, производительность не была проблемой - это действительно - нормальные сценарии типа соединения дб, которыми Вы должны были бы быть обеспокоены с любым клиент-серверным приложением. В нашем случае исходный разработчик знал тонны "приемов" в Доступе и сделал вещи как привязка данных холмов отбрасывания к хранимым процедурам. О, и ужасные триггеры.Ужасно. Как в, 45 триггеров, стреляющих на ужасное обновление.
таблицы, с которыми мы работали, действительно имели миллионы строк данных, однако обычно развертывание было к десяткам или сотням пользователей. Я предположил бы, что любое усилие, выходящее к тысячам пользователей, извлечет выгоду больше из заказной разработки ПО так, чтобы можно было сделать, вещам нравится, создают программное обеспечение правильно, поддерживают его от производительности и ракурса разработки, и создают опции автоматизированного развертывания (MSIs или ClickOnce, например).
Так, я не сказал бы, что это - совершенно приемлемое, стабильное, удобное в сопровождении или надежное решение. Это работало на нас, потому что мы были там для поддержки его (и в конечном счете переписать его в.NET), но я не рекомендую это ни для кого. Я, однако, работал в правительстве, где попытка сделать что-либо от "IT" (которого я был частью) была так заполнена волокитой и документами, что отделы часто просто сделают Решения доступа.
В конечном счете, если это так, Вы находитесь в - где отделы просто не могут получить доступ к ресурсам IT - затем показ им по крайней мере некоторые лучшие практики для того, как в конечном счете масштабироваться, приложение было бы полезно. Пока прямо после того, как Вы покажете им, Вы производите свое резюме для нахождения лучшего задания.
С Microsoft, "выдающей" бесплатные версии (механизм данных Microsoft или SQL Express на 2005 вперед) механизма SQL Server с каждым выпуском, нет действительно никакой потребности больше использовать Доступ. Хотя эти бесплатные версии не имеют визуального фронтэнда, который может сделать разработку тяжелее, хорошее знание SQL - все, в чем Вы нуждаетесь.
У меня была неудача для работы над фронтэндами Доступа как Вы, описывают, вот некоторые non-Enterpise аргументы.
Программирование легко! формы Создания в доступе приспособлен к неразработчикам. Рассматриваемый вопрос, если у Вас есть несколько столбцов в выпадающем, делает у Вас есть поля списка и поля данных.Ни за что! Вы просто устанавливаете его ширина вещей, которые Вы не хотите видеть к 0 дюймам. Так Ваше рассмотрение форм, или брошенных вместе неразработчиками, или это будет раздражать большинство людей, которые должны работать над ними.
Управление версиями? Кому нужно управление версиями?, Просто отошлите вложение , Если изменения должны быть внесены в повторное развертывание фронтенда, является трудоемким и склонный отказ.
Эта форма, я думаю пурпурный , фронтэнд не блокирует вниз хорошо, таким образом, конечные пользователи могут стать творческими.
12-15 лет назад это, возможно, было приемлемой практикой (не действительно желательный, но приемлемый), но в наше время его непростительное. Существует еще столько масштабируемых и распространяемых решений, что Доступ должен быть последней вещью прийти в чью-то голову.
, Когда Вы говорите, что Доступ как решение, что прибывает по моему мнению, является простым, приложением таблицы 2-3, которое некоторый маркетинговый сотрудник соединил, не настоящий разработчик. Если бы у маркетингового парня была действительно хорошая идея затем, возможно, то группа разработчиков должна посмотреть на нее (я предполагаю, что существует один смысл, Вы указали, что могут быть тысячи пользователей), осуществите рефакторинг ее на лучшую платформу (интранет или winforms, распределенные через ClickOnce, и т.д.), и затем разверните ее.
Назад в начале 90-х я был разработчиком Доступа - даже имел сертификацию MS. Я создал десятки приложений "Предприятия" (значение, что 10-15 человек использовали их). Тех дней не стало, IMO. Существуют более легкие решения создать, развернуть, и поддержать в наше время.