У меня проблема с крайним сроком. И этот срок наступает завтра: S К счастью, это не должно быть лучшим решением; даже не хороший. Мне нужна только одна часть работы, которую я опишу в ближайшее время. Я хочу, чтобы вы знали, что я ищу самое быстрое и самое грязное решение, поэтому моя идея может звучать очень плохо.
Итак, последние пару дней Я пытался синхронизировать базу данных, расположенную на устройстве Windows Mobile, с базой данных MySQL , расположенной на центральном сервере Linux. Пошаговое руководство Microsoft содержит веб-сервис, с которым я не уверен, как обращаться (у меня очень ограниченные знания в этой области). Насколько я понимаю, есть сервис, который должен быть расположен на стороне сервера, но это невозможно по разным причинам (включая тот факт, что это машина с Linux). Кроме того, мне еще предстоит выяснить, как сделать провайдер синхронизации mysql.
Мое решение, и это уродливо для вас, - создать на сервере веб-службу Java, которая отвечает за отслеживание запросов синхронизации каждого Windows Mobiles и отвечает соответствующим образом. Вот как я думаю, что это пойдет:
Каждое устройство Windows Mobile будет содержать локальную базу данных (SQL Compact). При активном подключении к Интернету он отправляет запрос в веб-службу для синхронизации отправки своей базы данных по имени пользователя и паролю. Веб-служба будет искать последний запрос синхронизации из этих учетных данных (который является дампом базы данных на момент запроса) и сравнивать его с текущим состоянием базы данных. Сервис будет отправлять изменения только в качестве ответа. Как только ответ отправлен, он сохранит текущее состояние базы данных как последний запрос пользователя на синхронизацию для следующего. Все, что требуется для устройства Windows Mobile, - это следовать ответу (простые операторы CRUD).
Итак, наконец, мой вопрос: Как я могу сохранить состояние базы данных, чтобы потом сравнить ее с будущим состоянием?
Конечно, само собой разумеется, что если есть лучшее решение, которое можно сделать быстро, я могу отказаться от всей этой идеи.
Для этого случая вот что вам нужно знать: сервер работает под управлением Linux. База данных на нем - MySQL, и я не могу изменить схему. Однако я могу установить программное обеспечение на сервер, например, веб-сервис. Наконец, на устройствах Windows Mobile в настоящее время работает SQL Compact. И, конечно, это ничего не должно стоить, так как оно не будет окончательным решением (которое будет использовать Microsoft Sync Framework, как только я выясню некоторые вещи).
Большое спасибо. Я также хотел бы, чтобы вы знали, что это не вопрос «дайте мне код», я в основном ищу любые отзывы (комментарии / идеи / предложения / ранг / и т. Д.).