Подключиться к серверу sql от android
В настоящее время я разрабатываю приложение Field-Service, которое хранит данные в локальной базе данных sqlite на устройстве Android. В какой-то момент, как правило, после завершения раундов сбора данных локальная база данных sqlite должна быть синхронизирована с удаленным SQL-сервером db на сервере, также мне нужно обновить локальную таблицу с SQL-сервера db.
Какие-либо предложения относительно того, как это может быть достигнуто или спроектировано как решение? Или еще лучше, есть ли альтернативы синхронизации данных в таком приложении?
Ответы
Ответ 1
Я думаю, что лучше всего использовать посредника, например веб-службы, или собственный логический уровень TCP для вашего приложения, который будет подключаться к SQL-серверу и выполнять запросы вашей заявки. Не пытайтесь подключиться к вашему SQL-серверу напрямую с Android. Ты можешь написать
некоторый код на вашем сервере (или веб-сервисе), а затем вызовите эти методы кода с вашего устройства Android с помощью Http.
А также есть много тем в stackoverflow, например ваш:
О том, как писать веб-сервисы. Это большой вопрос, и вы должны выбрать технологию, есть очень много библиотек, фреймворков и платформ, которые помогут вам просто написать веб-сервис. Вы должны выбрать протокол связи, это может быть SOAP, WSDL или, возможно, удалить процедуру вызова, это может быть приложение для отдыха. Если вы используете Java-стек, на данный момент есть несколько популярных фреймворков:
Вы можете начать с чтения веб-службы:
Также некоторые ссылки, которые предоставляют пример доступа к веб-сервисам от android:
Ответ 2
Вам нужно будет поддерживать сервер среднего уровня. Он может взаимодействовать между вашим приложением и MSSQL db. Может быть сервлет или обработчик запросов, который синхронизируется между SQLite и SQL Server db.
Ответ 3
Другим и гораздо более простым подходом является использование виртуального драйвера JDBC, который полагается на защищенную трехуровневую архитектуру: ваш JDBC-код отправляется через HTTP на удаленный сервлет, который фильтрует код JDBC (конфигурация и безопасность), прежде чем передавать его на драйвер MySql JDBC. Результат отправляется обратно через HTTP.
Есть несколько бесплатных программ, которые используют эту технику. Просто Google "Android JDBC Драйвер через HTTP".