2011-01-07 4 views
0

У меня есть приложение из двух частей, где есть центральная база данных, которая редактируется, а затем в определенное время данные освобождаются и распространяются как собственное приложение. Я хотел бы использовать отдельную базу данных для центральной базы данных (MySQL, Postgres, Oracle, SQL Server и т. Д.), А затем иметь надежный экспорт во встроенную базу данных (возможно, SQLite) для распространения.Экспорт из автономной базы данных во встроенную базу данных

Какие инструменты/процессы доступны для такого экспорта, или это практика следует избегать?

EDIT: пара дополнительных частей информации. Распределенное приложение должно работать без подключения к другому серверу (например, ваш инструмент проверки правописания пока работает, даже если у вас нет интернета), и я не хочу устанавливать полный сервер БД для доступа только для чтения к данные.

+0

Почему бы не копировать данные из центральной базы данных в некоторые «подчиненные» базы данных? – Navi

+0

@navi, я добавил дополнительную информацию о том, почему я не хочу реплицироваться в базу данных того же типа. Существует ли какая-то репликация «хозяин-раб», которая оборачивается этим? – jdana

ответ

0

Если вы действительно хотите, чтобы ваши клиенты имели доступ для чтения к автономным данным, это не так сложно обновить данные клиента вручную.
Хорошей практикой было бы использование одного и того же продукта для базы данных сервера и клиентской базы данных. Вам не придется писать SQL-заявления дважды, так как они используют один и тот же SOL-Dialect и те же функции.

  • Firebird предлагает, к примеру, сервер и встроенную версию.
  • Также Microsoft предлагает свой MS SQL Server в качестве мобильной версии (компактного издания) и есть также синхронизация услуги , предоставляемая Microsoft (хороший блог описания синхронизации услуги в визуальной студии: http://keithelder.net/blog/archive/2007/09/23/Sync-Services-for-SQL-Server-Compact-Edition-3.5-in-Visual.aspx)
  • MySQL имеет продукт, который называется «MySQLMobile», но я его никогда не использовал.
  • Я также могу рекомендовать SQLite как встроенную базу данных, так как она очень проста в использовании.

В зависимости от вашей полосы пропускания и объема данных вы даже можете загрузить всю базу данных и удалить старый. (в Firebird, например, копируются только файлы базы данных, и он также будет работать с мобильной версией). Очень просто - НО вы должны знать, будет ли это работать для вашего сценария. Если у вас больше данных, вам понадобится нечто более гибкое и сложное, только обновление данных, которые действительно изменились.

Смежные вопросы