Используйте Access или MySQL как базу данных - PullRequest
1 голос
/ 30 апреля 2009

Я пишу распределенное приложение БД с интерфейсом доступа. По сути mde с некоторыми формами и отчетами. Должен ли я использовать mdb доступа для хранения таблиц бэкэнда или использовать MySQL или другую базу данных?

Ответы [ 7 ]

4 голосов
/ 30 апреля 2009

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

Если ваши потребности в параллелизме и масштабируемости ограничены (скажем, 10-15 одновременных пользователей с умеренным количеством операций ввода-вывода), нет ничего плохого в использовании серверной части MDB. Я не фанат Access, но по опыту знаю, что это обычно работает.

Кроме того, администрирование серверной части MDB практически бесплатно, в то время как MySQL или SQL Server Express потребуют некоторой реальной работы администратора баз данных. Нет смысла делать что-то большее, если вы уверены, что вам это никогда не понадобится.

4 голосов
/ 30 апреля 2009

Лично я бы использовал SQL Server Express или MySQL. Они масштабируются лучше, чем бэкэнд Access, и когда вы готовы отойти от Access, вы можете сделать это без необходимости конвертировать бэкэнд, а также внешний интерфейс.

1 голос
/ 30 апреля 2009

Для реального развертывания вы хотели бы использовать реальную базу данных, а не Access / Jet DB Engine.

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

Возможно, вам придется немного изменить некоторые запросы.

0 голосов
/ 12 ноября 2010

Выбирая MySQL, вам необходимо установить MySQL Connector (ODBC) в каждом клиенте. SQL Server Express был бы хорошим выбором, если вы не любите распространять дополнительные компоненты, плюс ADO лучше работает с MS SQL.

0 голосов
/ 05 мая 2009

Существует третий вариант: вы можете использовать что-то вроде EQL Data , чтобы вы могли использовать обычный бэкэнд Access, но дать каждому человеку свою собственную копию (и синхронизировать между собой), чтобы помочь с многопользовательской проблемы масштабируемости. Таким образом, вам не нужно вдаваться в сложность использования «настоящего» бэкэнда БД.

0 голосов
/ 02 мая 2009

Я думаю, вы должны определить, что вы подразумеваете под «распределенным приложением БД». Этот термин, насколько я понимаю, обычно выводит Jet из строя на задний план.

Никто на самом деле не может ответить на ваш вопрос без указания количества пользователей, операционной среды, требований безопасности и надежности и т. Д. Если это для 10 пользователей и это не бизнес-данные, серверная часть Jet может быть идеальной сделать разработку и администрирование кусочком пирога. Если у вас 100 пользователей, вы определенно захотите использовать серверную часть. Если у вас есть важные соображения безопасности (например, соответствие HIPAA), вы, вероятно, захотите использовать базу данных со встроенной защитой на уровне сервера, а не использовать Jet.

Но есть множество приложений, в которых серверная часть Jet будет работать просто отлично - быстро и абсолютно надежно.

0 голосов
/ 30 апреля 2009

Я думаю, что SQL Server Express будет вашим лучшим вариантом. MySQL - хорошая БД для вашего бэкэнда, но Access лучше интегрируется с SQL Serv Express (конечно, MS хочет, чтобы вы использовали его собственные продукты, даже если он бесплатный), и Express Edition довольно хорош, учитывая, что он бесплатный. Если приложение в конечном итоге нуждается в большом масштабировании позже, тогда обновление до платного SQL Server простое, а драйвер тот же.

...