Как спроектировать автономную базу данных - PullRequest
0 голосов
/ 13 ноября 2009

Использование Sql Server 2008, .Net 3.5 & C #.

Я разрабатываю настольное приложение, которое работает в режиме только для чтения, когда нет подключения к Интернету. Когда соединение снова станет доступным, оно будет использовать веб-сервисы для обновления центральной БД.

Какие технологии можно использовать для «загрузки» набора данных, применимых к каждому клиенту, для использования в автономном режиме?

Ответы [ 4 ]

1 голос
/ 13 ноября 2009

SQL Server Compact Edition был разработан именно для этого процесса. Он имеет функции для синхронизации, но учтите, что он не обладает полной функциональностью SQL (т. Е. Представлениями, индексированием и т. Д.).

0 голосов
/ 13 ноября 2009

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

Существует версия ado.net по следующему адресу:

http://sqlite.phxsoftware.com/

все, включая двигатель, включено в dll. Очень прост в развертывании.

Я только начинаю использовать его для аналогичного проекта, и, похоже, он пока работает очень хорошо.

Он поддерживает полный набор стандартных функций sql, таких как представления, триггеры и т. Д.

Scott

0 голосов
/ 13 ноября 2009

Разве это не цель приложения SMART Client?

Другим вариантом будет кэширование всех ваших данных во включенной базе данных ESENT , встроенной в Windows. Другим вариантом может быть включение SqlLite или некоторой аналогичной встроенной базы данных в ваше приложение, которое синхронизируется при наличии подключения.

0 голосов
/ 13 ноября 2009

Это зависит от ваших требований, типа подключения (проводное / беспроводное?), Портативного ноутбука / типа карманного компьютера / настольного компьютера, есть несколько способов сделать это, как правило, вы захотите Контролируйте свое сетевое соединение каждые несколько минут (настраивается), а когда есть сетевое соединение, подключитесь к веб-сервису (опять же, как насчет брандмауэра?) и загрузите обновления из базы данных. Этот мониторинг сети может варьироваться, например, пинг до ip-адреса веб-сервиса (это обычный и самый простой способ определения сетевого подключения). Если вы говорите о портативных устройствах, таких как pda ..., он становится еще сложнее (есть нет подходящего способа сделать это в стандартных элементах управления vs - вы можете проверить opennetcf.org, чтобы получить расширения и улучшения для activesync). Просто будьте осторожны, чтобы не тратить слишком много времени процессора в результате опроса при проверке сетевое соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...