XML по сравнению с SQlite по сравнению с доступом

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

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

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

Я склоняюсь к SQlite, но я не знаю. Был бы, добавляя базу данных в файле Доступа MS быть лучшим решением? Если я поместил бы его в базу данных доступа, клиенту нужен установленный Доступ MS или только MDAC MSFT? Если я использую Доступ DB, который будет работать в соответствии с Linux с Моно также или не является там никакой заменой MDAC?

5
задан Fionnuala 22 December 2009 в 10:27
поделиться

5 ответов

Я бы подумал об использовании NHibernate, его можно подключить к SQLite, но позже можно обновить до полной базы данных, не меняя при этом много кода. Если вас это не интересует, я бы использовал SQLite непосредственно через XML файлы.

.
8
ответ дан 18 December 2019 в 09:07
поделиться

Я бы использовал SQLite поверх Access - для SQLite нужно только поставлять DLL, для Access нужен инсталлятор (хотя я думаю, что он встроен в последние версии Windows). Также SQLite - это лучшая БД.

Или вы, конечно, можете абстрагироваться от механизма стоха данных, используя шаблон Репозитария или что-то в этом роде? Если вы должны были хранить данные в файле, а затем загрузить их и выставить из репозитория с помощью Linq-To-Objects, то в дальнейшем вы могли бы просто заменить их на Linq-to-SQL без изменения клиентского кода

.
3
ответ дан 18 December 2019 в 09:07
поделиться

Для использования реактивного двигателя не требуется устанавливать Access. Насколько я помню, Jet устанавливается со всеми последними версиями Windows. Вы можете использовать Jet (Access) с Linux. Jet требуется очень мало для управления базами данных по сравнению с альтернативными вариантами, включая SQLite.

.
4
ответ дан 18 December 2019 в 09:07
поделиться

Все последние версии окон вплоть до окон 7 поставлялись с копией JET (движок данных ms-доступа). Таким образом, вам не нужен ни mdac, ни вообще ms-access.

Вы даже можете написать скрипт windows на чистом окне windows без установленного программного обеспечения, и таким образом вы сможете читать данные из mdb (ms-access) файла.

Итак, проблема здесь не в установке, так как "JET" (движок базы данных, который использует ms-access) все равно поставляется с окнами.

Думаю, единственное исключение или соображение здесь - это то, что вы планируете работать над 64-битными редакциями os и использовать внутрипроцессные 64-битовые приложения?

Есть 64-битная редакция ms-access для Office 2010, и, насколько я знаю, также будет отдельная загрузка для установки движка JET (теперь называемого ACE) на 64 коробки.

Я планирую работать только на 32-битных машинах (или использовать 32-битные редакции своего ПО на 64-битной коробке), тогда вам не нужен ms-access, и вам не нужно будет ничего устанавливать, чтобы читать и использовать mdb (ms-access файлы).

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

.
1
ответ дан 18 December 2019 в 09:07
поделиться

У вас могут возникнуть проблемы с использованием sqlite в средах со средним уровнем доверия (например, на общем хостинге). Если вы открыты для других решений, вы можете попробовать VistaDB. Она поддерживается всеми основными orm (nhibernate, openaccess, entityspaces, subsonic и многими другими).

2
ответ дан 18 December 2019 в 09:07
поделиться
Другие вопросы по тегам:

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