От SQL Server до MS Access 2007 - PullRequest
       28

От SQL Server до MS Access 2007

1 голос
/ 05 января 2010

Не могли бы вы порекомендовать хороший ресурс по изучению MS Access с точки зрения разработчика, обладающего хорошим опытом работы с SQL Server.

Также приветствуются некоторые полезные советы в таких областях, как

  • поддержка многопользовательского доступа
  • безопасность;база данных и интерфейс доступа внешнего интерфейса (формы, отчеты)
  • развертывание

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

Соответствующее приложение будет размещено на сервере и совместно использоваться несколькими пользователями (10до 20).Он должен быть написан исключительно в MS Access 2007. Доступ к данным осуществляется с использованием форм и отчетов (без прямого доступа к таблицам).Будет 3 разных типа пользователей, что подразумевает разные права доступа.Все в рамках интранет-сети.

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

СпасибоВы

РЕДАКТИРОВАТЬ

Спасибо за ваши ответы до сих пор.Просто хотел уточнить, что в данном конкретном сценарии MS Access является единственной опцией

Ответы [ 5 ]

4 голосов
/ 05 января 2010

К сожалению, Access страдает от плохой прессы и слухов, многие из которых действительно устарели.

Здесь есть несколько полезных заметок:

MS Access 2003 - Хорошая книга по продвинутому обучению VBA

Подходит ли MS Access (JET) для многопользовательского доступа?

Настройка базы данных MS-Access для многопользовательского доступа

https://stackoverflow.com/questions/469799/what-are-the-appropriate-uses-for-ms-access

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

Я полагаю, что основной трудностью для человека, имеющего опыт работы с SQL-сервером, будет адаптация к более ограниченному Jet / Ace SQL.

3 голосов
/ 05 января 2010

Честно говоря, я люблю доступ. Что за инструмент для промежуточного разработчика. И это идет с MS Office. С помощью этого недорогого API вы можете создавать полноценные приложения.

Да, у MSAccess есть свои недостатки. Многопользовательская поддержка - САМЫЙ БОЛЬШОЙ недостаток. Но давайте посмотрим правде в глаза - Access не был разработан специально для этого.

Вы хотите создать приложение для 10-20 пользователей. Доступ идеально подходит для этого. Проблема, с которой вы столкнетесь, заключается в том, чтобы все эти пользователи одновременно обращались к веб-интерфейсу и таблицам (опять же с многопользовательским режимом). Доступ в качестве механизма базы данных хорош только для нескольких соединений. Однако Access включает в себя множество инструментов для достижения вашего решения.

Я предлагаю создать ваш интерфейс так, как вы считаете нужным использовать Access. Вы можете опубликовать файл MDE для распространения среди конечных пользователей. Это разрешает нескольким пользователям доступ к веб-интерфейсу. Затем вы можете увеличить размер таблиц в Access и опубликовать их в базе данных SQL. Давайте посмотрим правде в глаза - ваши орехи не использовать SQL для бэкэнда, когда вы имеете дело с 10+ пользователями. SQLEXPRESS БЕСПЛАТНО. Также нет максимального количества подключений. Это решит вашу многопользовательскую проблему.

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

РЕДАКТИРОВАТЬ: вы можете установить права доступа пользователей и рабочих групп в Access. Кроме того, публикация файла MDE гарантирует, что никакие изменения не могут быть внесены в веб-интерфейс. Файл MDE является распространяемым только для чтения. Хорошо, а? Также нет доступа к таблицам, когда вы увеличиваете размер до SQL. Как насчет этого?

2 голосов
/ 06 января 2010

Access - отличный интерфейс для сервера sql.Jet также можно использовать, но с пониженной производительностью и надежностью.

Хорошие сайты:

Books:
Есть много, но я бы упомянул O'Reilly's Access Cookbook 2d edition.

1 голос
/ 06 января 2010

MS Access - отличный инструмент, но, как и любые другие инструменты, он должен использоваться правильно. Держу пари, что 80% всех приложений доступа построены неправильно по принципу привязки формы ко всей таблице и т. Д.

Во всех моих приложениях доступа я не использую связанные формы, а вместо этого контролирую весь ввод-вывод с помощью кода, и если проект никогда не выйдет за пределы доступа, я настоятельно рекомендую использовать DAO для управления данными.

Одно из моих приложений используется примерно 150 пользователями (10-30 одновременно) и не имеет никаких проблем. У MVP есть несколько отличных сайтов, и я многому у них научился.

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

0 голосов
/ 05 января 2010

MS Access плохо работает с несколькими пользователями, отстой безопасности, и есть большие проблемы с производительностью с большими таблицами.Я просто рискну сказать, что это ОЧЕНЬ плохая идея.

- РЕДАКТИРОВАТЬ -

Чтобы изложить «отстой безопасности»:

Jet использует a »слабый метод шифрования и никогда не должен использоваться для защиты конфиденциальных данных "- http://msdn.microsoft.com/en-us/library/aa139961(office.10).aspx

" Access 2007 не обеспечивает безопасность на уровне пользователя для баз данных, созданных в новом формате файлов (.accdb и .accdeфайлы) «.- http://office.microsoft.com/en-us/access/HA101980471033.aspx?pid=CH100621891033

"все пользователи могут видеть все объекты базы данных при открытии баз данных, созданных в Office Access 2007".- http://office.microsoft.com/en-us/access/HA101980471033.aspx?pid=CH100621891033

- КОНЕЦ РЕДАКТИРОВАНИЯ -

Если цена и простота отчетности является первостепенной задачей для направления MS Access, рассмотрите mySql с любымодин из многих инструментов для создания отчетов, которые существуют для него.

Я работал в компании, которая использовала базу данных MS Access с максимум 4 одновременными пользователями в ней, и она постоянно подавлялась.

Я ОЧЕНЬ отказался бы встраивать в Access.Если это требование установлено в камне и не может быть изменено, я бы ушел сейчас, пока ваша жизнь не была разрушена, и вы застряли в бесконечной петле попыток исправить систему, которая никогда не должна была быть построена с самого начала..

Существуют и другие бесплатные опции для mySql, как указано в комментариях:

PostgreSQL

SQL Compact

SQL Express

И есть МНОГИЕ другие бесплатные / дешевые и достойные решения.

Если вы не собираетесь уходить, и требования MS AccessНЕ собираюсь менять: (см .:

Начало работы с безопасностью Access 2007

Вы также можете прочитать этот документ о некоторыхпотенциальных проблем и решений, с которыми вы столкнетесь.

...