Доступ MS как программное обеспечение предприятия?

18
задан ThinkingStiff 27 July 2012 в 08:00
поделиться

10 ответов

Я работал с этим сценарием много. На самом деле, поскольку бэкэнд SQL Server фронтэнда Доступа консультанта/разработчика был значительной частью моей работы хлеба с маслом за прошлые 10 лет. Который не означает меня как Доступ ;-)

Вплоть до общего принятия Ajax, это было совершенно разумное решение. И существуют все еще огромные количества малых и средних приложений, соединенных в Доступе там, которые выполняют сделанные на заказ бизнес-системы отлично счастливо, и я сомневаюсь, что он собирается уйти в течение следующих 10 или больше лет - действительно, Доступ/SQL, вероятно, будет Коболом 21-го века. Если Вы работаете над сайтом 'зеленого поля' затем нет теперь фактически никакого оправдания за развертывание Доступа при создании с нуля - но если Вы действительно наследовали существующее приложение затем, затраты на переписывание не могут стоить и могут быть трудными передать с пользователями.

Доступ действительно имеет некоторые преимущества, которые являются все еще значительными - и могут представить проблемы, предложив преобразовать в веб-приложение

  1. , Это быстро. Поскольку простой CRUD работает, это настолько же быстро, чтобы записать и развернуться как любое другое реалистическое решение.
  2. Встроенное создание отчетов легко получить выполнение и удивительно мощный, учитывая систему. Обычно довольно легко создать и развернуть новые отчеты для пользователей по требованию.
  3. Это интегрируется хорошо с Office. Этот склонен быть выставочным стопором когда смотрящий на приложения Доступа перемещения к веб-приложениям. Это чрезвычайно характерно для приложения Доступа 'размера отдела' к [1 115] плотно , интегрируются с Outlook, Word или Excel - и часто все три. Это основная проблема при справлении с реальными ситуациями. Для кодеров очень легко недооценить важность этого для повседневного использования таких систем, и наложение даже маленькой степени дополнительной стычки для пользователей будет обычно встречаться большим сопротивлением - достаточно часто, чтобы полностью погубить проект.
  4. , Если Ваша работа с разумным размерным отделом - приблизительно дюжиной человек - для там довольно свойственно быть кем-то в офисе кто сами мечты как что-то вроде компьютерного мастера. Эти люди могут быть сильной болью, если обработано неправильно, но одинаково могут быть крупным активом. Если у меня будет такой человек, то я попытаюсь заставить управление отправлять их на курсе Доступа или два, таким образом, они смогут записать простые запросы и отчеты, и настроить отдельное приложение Доступа для них , которым они владеют , который имеет соответствующий (ограниченный) доступ к базе данных SQL. Можно затем доверить этого человека для обработки представляющих простых отчетов и т.п. для их коллег. Это может быть реальным взаимовыгодным - Вы получаете кого-то, кто находится на Вашей стороне и будет использовать Вас в качестве наставника - готового защитника Вас в отделе - и они не допускают работу отчета пехотинца в Ваши волосы. Они получают много престижности и удовлетворения работой - и даже потенциальная карьера. Это намного более твердо, хорошо почти невозможно, чтобы сделать такого рода вещь с любой другой системой, но Доступом.

Основные практические недостатки

  1. Развертывание может быть кошмаром. Обычно, если у Вас есть очень строго определенная среда - небольшая компания, единственный отдел, Citrix, базирующийся или распределенный с отделом ИТ, который тесно управляет, это - ПК затем, Вы в порядке. Развертывание как коммерческое приложение через несколько компаний - хорошо, только если можно заряжать значительное обслуживание (там).
  2. Код не масштабируется. Доступ код VBA, даже когда записано профессионалом имеет сильную тенденцию гнить в прогорклые спагетти. Довольно распространено закончиться с приложением Доступа, которое было достаточно легко поддержать, но постепенно становится неудобным в сопровождении, когда зависимости умножаются.

, Таким образом, я сказал бы, что Доступ все еще имеет место, и это - использование, defendable во многих ситуациях с реальным миром, но все больше лучше выбрать более современное решение, если обстоятельства разрешают.

21
ответ дан 30 November 2019 в 05:53
поделиться

Мы создали такое решение (Фронтенд доступа, бэкэнд SQL), с теперь чем-то как 80 пользователей, миллионы строк копировали между разными странами, больше чем 100 000 обновлений в месяц. Это хорошо работает. Я думаю, что основная ошибка о Доступе состоит в том, чтобы считать это как инструмент сделанным, чтобы любители разработали приложения. Это может проложить себе путь, но иметь в виду, что любительская разработка даст Вам любительские приложения, в то время как профессиональная разработка даст Вам профессиональные результаты.

А быстрый список его преимуществ, проблем и пределов:

  • Это свободно для заключительного пользователя, благодаря msAccess времени выполнения
  • Это работает со свободной SQLServer Express, и не так дорогая SQL Server Enterprise.
  • Это быстро, особенно при контакте с формами
  • Это связывается очень легко с другими приложениями Office, которые являются все еще стандартами предприятия
  • , можно управлять его интерфейсом, чтобы быть так близко к стандартам Office, что использование его может быть очень интуитивным, делая людей счастливыми (я говорил немного об этом на мой блог , потребность, которая будет обновлена!)
  • В крупном масштабе, необходимо думать о лучшем способе распределить его пользователям. Эта проблема может превратиться в кошмар, как отмечено #Cruachan, но это может быть решено путем создания и распределения msi пакетов, например. Такие пакеты msi могут также содержать все Ваши внешние ссылки такой, как 'добавлено' dll, ocx, tlb файлы (сообщите о dll, activeX средства управления сканером, и т.д.). У нас было несколько слов на этом здесь .
  • При распределении обновленной версии mdb файла, у Вас может быть папка общей сети, содержащая новый mdb/zipped файл, который клиенты проверят/обновят при запуске. У Ваших клиентов должна быть возможность переустановить предыдущую версию mdb файла. Обновление становится затем легче, чем установка нового .exe файла.
  • необходимо установить систему управления версии. Проверьте здесь для деталей.
  • необходимо быть очень строгими на организации кода. Одно из наших основных правил не состоит в том, чтобы, например, иметь никакого определенного кода на уровне формы. Проверьте здесь на этом предмете.
  • я не нашел проблемы с масштабированием кода VBA, как отмечено #Cruachan. Если профессиональные правила кодирования будут реализованы, то не будет никакого необычного кода, масштабирующего проблему. Как пример, наше приложение теперь работает действительно прекрасное больше чем с 180 различными формами и все еще растет без любой проблемы.

Как заключение, нашей основной проблемой с Доступом является проблема изображения, где Microsoft все еще позволила людям думать, что Доступ здесь, чтобы дать им возможность разработать реальный sofware на 10 уроках... и профессионалах, которые знают, что это не возможно, просмотрите его как любительский инструмент для любительской разработки, смотря свысока на пользователей доступа мс как на скучных низких жлобов IQ.

14
ответ дан 30 November 2019 в 05:53
поделиться

Я знаю довольно много профессиональных разработчиков Доступа, которые разработали и поддержали приложения уровня Предприятия с помощью Доступа в качестве фронтэнда (или MDB или ADP) и поддерживая пользовательское население в 100 с (и даже в нескольких случаях, тысячах).

Как любая разработка приложений уровня Предприятия, это требует более высокого уровня программирования навыка, чем создание небольшой базы данных Access для Вашего отдела с 5 людьми.

Достаточно странно, принципы разработки, которые делают для эффективного приложения уровня Предприятия также, делают для более эффективного приложения Доступа уровня рабочей группы.

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

Да, трудно сделать правильно.

, Но на том уровне, так любая платформа разработки - все они требуют планирования, опыта и высокоуровневого набора навыков.

И Вы можете обрывок на приложениях Доступа, разработанных людьми безо всего того (Предприятие или не), но откровенно говоря, я встретился с полной лодкой приложений небазы данных Access всех видов, которые невероятно плохо реализованы.

закон Sturgeon применяется везде, и нет никакой причины предположить, что разработка Доступа несколько отличалась бы.

9
ответ дан 30 November 2019 в 05:53
поделиться

Для большого количества CRUD (Создают Обновление Чтения, Удаляют), работа, Доступ MS в порядке. Я более уверен в нем, если данные находятся в другом механизме (MSSQL/Oracle/MySQL). Однако большую часть времени у меня есть проблемы с базой данных Access MS, которая это потому что:

  1. Это было собственной разработки настольным пользователем (не ПРОГРАММИСТ/СПЕЦИАЛИСТ ПО ИТ) и не запланировало заранее для будущей разработки (таким образом, дополнения являются часто более болезненными, что, если про было включено)
  2. Это полно ненормализованных таблиц, непостоянств и таблиц без ключа.

Мое решение. Ограничьте Доступ MS к pro's и разверните версию среды выполнения на пользовательских рабочих столах.

4
ответ дан 30 November 2019 в 05:53
поделиться

Я начал делать настольные приложения в Доступе со СТРУЙНЫМИ бэкендами. Я переместил до использования SQL Server / механизм данных Microsoft с Доступом как фронтенд и затем VB6 и поверхностное знание классического ASP.

существует много причин "enterprisey" пойти с "реальным" средством разработки как Visual Studio. Для масштаба Вы справляетесь, тысячи пользователей, я думаю, что те причины могут применяться.

Тем не менее я думаю, что существуют сценарии, где это все еще работает для использования Доступа. В моем собственном опыте я отступил к Доступу с базой данных SQL при предоставлении мандата придумать решение для предприятия, хотя для намного меньшего предприятия, в очень короткий промежуток времени. Главная причина, управляющая моим решением, пришла время. Я могу соединить базу данных UI in Access очень, намного быстрее, чем я могу в каком-либо другом инструменте. Часть этого является знакомством с инструментом, но многое из него - то, что Доступ просто дает Вам больше базы данных определенные для цели биты для работы с из поля. Доступ UI можно также настроить, чтобы посмотреть и работать очень как стандартное приложение WinForms.

помеха, с которой многие сталкиваются в сценарии предприятия, прокручивает Доступ и приложение MDB/MDE к массам. Это легко разрешено путем установки его в Windows Terminal Server, который может также быть подстроен для работы почти как другое окно приложения на клиентской машине с правильными параметрами файла RDP. Но даже что подход имеет свои пределы. Я не думаю, что это масштабировалось бы в тысячи очень хорошо, но для нескольких дюжин пользователей, я нашел, что это работало просто великолепно и купило достаточно времени для встречи ограничений времени, я должен был работать с так веб-интерфейсом, мог быть реализован, когда время позволило.

Для профессионала, который знает то, что они делают в базе данных SQL, фронтэнд Доступа является не обязательно непростительным грехом, особенно когда мандат является дешевым и быстрым и нет религиозного включенного пуризма.

6
ответ дан 30 November 2019 в 05:53
поделиться

Если у Вас есть выбор, нет.
Однако существуют ситуации, где это может быть в порядке. Одна ситуация состоит в том, если Вы никогда не планируете обновление приложения доступа. Если это установлено для тысяч пользователей, можно столкнуться с проблемами, получающими все клиентские обновленные приложения.
Вы - очень более обеспеченное создание веб-фронтэнда... Хотя Доступ делает несколько форм основной детали легче, чем что-нибудь, что я видел. Even Oracle Application Express, предназначенная для конкуренции с Доступом, не может сделать всего, что делает Доступ.
Мой совет состоит в том, что, если Вы - программист, можно сделать приложение asp.net, которое сделает то же задание в намного более масштабируемый, удобный в сопровождении, природа.

3
ответ дан 30 November 2019 в 05:53
поделиться

К сожалению, у меня есть довольно мало опыта с этим. Мы создали весь продукт вокруг Форм Доступа, набрасывающихся на базу данных SQL. Честно, производительность не была проблемой - это действительно - нормальные сценарии типа соединения дб, которыми Вы должны были бы быть обеспокоены с любым клиент-серверным приложением. В нашем случае исходный разработчик знал тонны "приемов" в Доступе и сделал вещи как привязка данных холмов отбрасывания к хранимым процедурам. О, и ужасные триггеры.Ужасно. Как в, 45 триггеров, стреляющих на ужасное обновление.

таблицы, с которыми мы работали, действительно имели миллионы строк данных, однако обычно развертывание было к десяткам или сотням пользователей. Я предположил бы, что любое усилие, выходящее к тысячам пользователей, извлечет выгоду больше из заказной разработки ПО так, чтобы можно было сделать, вещам нравится, создают программное обеспечение правильно, поддерживают его от производительности и ракурса разработки, и создают опции автоматизированного развертывания (MSIs или ClickOnce, например).

Так, я не сказал бы, что это - совершенно приемлемое, стабильное, удобное в сопровождении или надежное решение. Это работало на нас, потому что мы были там для поддержки его (и в конечном счете переписать его в.NET), но я не рекомендую это ни для кого. Я, однако, работал в правительстве, где попытка сделать что-либо от "IT" (которого я был частью) была так заполнена волокитой и документами, что отделы часто просто сделают Решения доступа.

В конечном счете, если это так, Вы находитесь в - где отделы просто не могут получить доступ к ресурсам IT - затем показ им по крайней мере некоторые лучшие практики для того, как в конечном счете масштабироваться, приложение было бы полезно. Пока прямо после того, как Вы покажете им, Вы производите свое резюме для нахождения лучшего задания.

3
ответ дан 30 November 2019 в 05:53
поделиться

С Microsoft, "выдающей" бесплатные версии (механизм данных Microsoft или SQL Express на 2005 вперед) механизма SQL Server с каждым выпуском, нет действительно никакой потребности больше использовать Доступ. Хотя эти бесплатные версии не имеют визуального фронтэнда, который может сделать разработку тяжелее, хорошее знание SQL - все, в чем Вы нуждаетесь.

0
ответ дан 30 November 2019 в 05:53
поделиться

У меня была неудача для работы над фронтэндами Доступа как Вы, описывают, вот некоторые non-Enterpise аргументы.

Программирование легко! формы Создания в доступе приспособлен к неразработчикам. Рассматриваемый вопрос, если у Вас есть несколько столбцов в выпадающем, делает у Вас есть поля списка и поля данных.Ни за что! Вы просто устанавливаете его ширина вещей, которые Вы не хотите видеть к 0 дюймам. Так Ваше рассмотрение форм, или брошенных вместе неразработчиками, или это будет раздражать большинство людей, которые должны работать над ними.

Управление версиями? Кому нужно управление версиями?, Просто отошлите вложение , Если изменения должны быть внесены в повторное развертывание фронтенда, является трудоемким и склонный отказ.

Эта форма, я думаю пурпурный , фронтэнд не блокирует вниз хорошо, таким образом, конечные пользователи могут стать творческими.

1
ответ дан 30 November 2019 в 05:53
поделиться

12-15 лет назад это, возможно, было приемлемой практикой (не действительно желательный, но приемлемый), но в наше время его непростительное. Существует еще столько масштабируемых и распространяемых решений, что Доступ должен быть последней вещью прийти в чью-то голову.

, Когда Вы говорите, что Доступ как решение, что прибывает по моему мнению, является простым, приложением таблицы 2-3, которое некоторый маркетинговый сотрудник соединил, не настоящий разработчик. Если бы у маркетингового парня была действительно хорошая идея затем, возможно, то группа разработчиков должна посмотреть на нее (я предполагаю, что существует один смысл, Вы указали, что могут быть тысячи пользователей), осуществите рефакторинг ее на лучшую платформу (интранет или winforms, распределенные через ClickOnce, и т.д.), и затем разверните ее.

Назад в начале 90-х я был разработчиком Доступа - даже имел сертификацию MS. Я создал десятки приложений "Предприятия" (значение, что 10-15 человек использовали их). Тех дней не стало, IMO. Существуют более легкие решения создать, развернуть, и поддержать в наше время.

2
ответ дан 30 November 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: