Какая база данных является хорошей прогрессией от MS Access для Coldfusion? - PullRequest
2 голосов
/ 09 июня 2010

Все мое (домашнее) изучение CF до сих пор проводилось с использованием Access в качестве базы данных, и, насколько БД идет, я "понимаю".Там нет сервера базы данных, и нет необходимости входить в базу данных или что-либо еще, а установка табличных отношений проста и наглядна.Да, и это по существу бесплатно для развертывания.

Однако сейчас я работаю над приложением, которое, вероятно, будет использоваться в нескольких компаниях и, возможно, до 50 одновременных пользователей.Я слышал, что Access на самом деле не для многопользовательского или производственного использования в приложении.Что бы вы посоветовали, как более подходящий, желательно легкий для понимания, с минимальным изменением, необходимым для моего SQL (я использовал инструмент для преобразования в MySQL, и он, конечно, по-другому обрабатывает конкатенацию, я не хочу делать слишком много отладки), визуальный интерфейсдоступный, масштабируемый, резервный, и все, что мне нужно, я еще не знаю, что мне нужно!

Ответы [ 5 ]

8 голосов
/ 09 июня 2010

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

3 голосов
/ 09 июня 2010

Вы можете использовать либо MySQL, либо Microsoft SQL Server Express . Оба бесплатны и хорошо работают.

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

0 голосов
/ 10 июня 2010

У меня нет опыта работы с Microsoft SQL Server Express, поэтому я не могу говорить за. Тем не менее, я использую MySQL с ColdFusion 8, и меня постоянно впечатляют возможности, гибкость, простота, поддержка сообщества и скорость MySQL. PHP MyAdmin довольно прост и хороший веб-интерфейс для MySQL. Мои $ .02, потрать, как можешь.

0 голосов
/ 10 июня 2010

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

Тогда довольно просто экуменически полностью заменить свой бэкэнд.

Если вы используете подготовленные операторы, вы также получите защиту от многих форм SQL-инъекций.

Я также хотел бы отметить, что серверная часть Jet / ACE никогда не была хорошим выбором для веб-приложений.приложения из-за несоответствия между моделями потоков и управлением памятью веб-сервера и ядра базы данных Jet / ACE (хотя, если вы используете ADO, сообщается, что Jet безопасен для потоков; я не совсем понимаю, как можно волшебным образом преобразовать не-безопасный механизм БД в потокобезопасный с уровнем интерфейса данных, но Майкл Каплан сказал, что это так, и он является типом человека, которому вы можете доверять в этом типе субъекта).

0 голосов
/ 09 июня 2010

Если вы просто используете Access в качестве базы данных, то, естественно, Microsoft SQL Server наиболее близок по концепции (и диалекту SQL) к доступу.

Однако, если вы сосредоточены на веб-разработке, лучше использовать стек LAMP и, в частности, MySQL. Вы должны хотя бы иметь представление о некоторой базовой администрации.

По моему опыту, основная проблема будет связана с типами данных и строковыми операциями (похоже, у вас есть похожие проблемы).

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

Основным преимуществом Access, IMHO, является встроенная поддержка генерации пользовательских интерфейсов и отчетов, в то же время скрывающая большую часть базового SQL. Большинство языков Microsoft (особенно VB) предлагают аналогичные возможности. Если вы использовали пользовательский интерфейс или формы, теперь вам нужно изучить язык или инструмент для создания пользовательских интерфейсов / форм / страниц, а также узнать, как использовать SQL. Поскольку вы упомянули ColdFusion, я предполагаю, что у вас уже есть большинство этих навыков.

...