La mejor manera de acceder a la base de datos en el servidor mediante la aplicación Android

Necesito desarrollar una aplicación que pueda tener acceso a una base de datos de SQL Server almacenada en un servidor en una oficina. Llamar al personal de escritorio remoto a un servidor de terminal y acceder a la base de datos utilizando la aplicación de escritorio para la que se ha creado la base de datos. La aplicación de escritorio accede a la base de datos con una conexión ODBC. Estoy escribiendo una aplicación de Android que permitirá una pequeña parte del acceso a esta base de datos que está disponible en la aplicación de escritorio, y estoy buscando maneras de conectar mi aplicación a esta base de datos, si está utilizando la conexión ODBC (Potencialmente usando .Net), o de alguna otra manera.

Edit: Lo siento por los que respondieron antes de terminar de explicar mi pregunta, se publicó por accidente y algunos de ustedes respondieron antes de terminar de editar.

Usted tiene que escribir un webservice en el lado del servidor. Puede enviar los datos como paquetes Json al dispositivo y analizar en el dispositivo los paquetes json y acceder a los datos. Sus llamadas a webservice debe ser una llamada http, por ejemplo

Http: \ server \ metnod \ get_somedata? Nombre = algo

Y el servidor debe consultar la base de datos para este parámetro y enviarle la respuesta como Json. Analizar json y obtener sus datos.

Editar: establece el tipo de contenido como "application / json" en el encabezado de respuesta del servidor. Este es un ejemplo para que el cliente envíe una solicitud de post http al servidor. Aquí jsonobjSend es el json que he construido para enviar al servidor con algunos detalles. Ex {tabla: "sometable", id: 90}. JsonobjRecv es el json que será enviado por el servidor

HttpPost httpPostRequest = new HttpPost(url); StringEntity se; se = new StringEntity(jsonObjSend.toString()); // Set HTTP parameters httpPostRequest.setEntity(se); httpPostRequest.setHeader("Authorization", usercredential); httpPostRequest.setHeader("Accept", "application/json"); httpPostRequest.setHeader("Content-type", "application/json"); httpPostRequest.setHeader("Accept-Encoding", "gzip"); // only set this parameter if you would like to use gzip compression long t = System.currentTimeMillis(); response = (HttpResponse) httpclient.execute(httpPostRequest); Log.i(TAG, "HTTPResponse received in [" + (System.currentTimeMillis()-t) + "ms]"); //Get hold of the response entity (-> the data): HttpEntity entity = response.getEntity(); if (entity != null) { // Read the content stream InputStream instream = entity.getContent(); Header contentEncoding = response.getFirstHeader("Content-Encoding"); if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) { instream = new GZIPInputStream(instream); } // convert content stream to a String String resultString= convertStreamToString(instream); Log.v(null, "resultString "+resultString); instream.close(); // Transform the String into a JSONObject if(resultString!=null){ jsonObjRecv = new JSONObject(resultString); } // Raw DEBUG output of our received JSON object: Log.i(TAG,"<jsonobject>\n"+jsonObjRecv.toString()+"\n</jsonobject>"); return jsonObjRecv; 

}

Crear / analizar un json check json.org

Debe crear un servidor web que será la interfaz, a continuación, puede proporcionar un servicio web para su aplicación.

Si puede modificar su aplicación de escritorio, implemente directamente el servicio http. Por lo tanto, el servicio estará disponible sólo cuando se lance su aplicación.

Como AnDro dijo que puede elegir json será el más ligero a la transferencia de los datos. Si usted elige json techno echar un vistazo a jackson .

También sugeriría una API RESTful que acepte JSON para ser publicada – y devuelve los resultados de JSON.

También puede agregar URL-reescritura, que envía URL a varios controladores.

Por ejemplo http // somehost.com / controller / action … donde puede publicar.

Esto se puede hacer en ASP.NET seguro (recién codificado algo similar en PHP).

  • ¿Puedo conectar android (Eclipse) a SQL Server (2005) usando servicios web de php?
  • Problema de orden de consultas SQLite de Android
  • Cómo obtener el registro de llamadas desde fecha específica en android
  • Obtener acceso a SQL en Broadcastreceiver
  • Seleccione sólo los descendientes directos de la tabla con una ruta materializada
  • Android, cómo ejecutar un archivo sql en sqlitedatabase
  • ¿Cómo comprobar si el valor ya existe en la base de datos android sqlite?
  • Datos dinámicamente de datos de tabla de Android
  • Clave Extranjera de SQLite
  • Comprobación del resultado de rawQuery de Android
  • Sqlite3 tabla con límite máximo de líneas (por elección) eficiencia
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.