miércoles, 15 de febrero de 2012

Conexión desde android a oracle

Este post lo hago porque me he sumado al esfuerzo y apoyo de Alejandro Alcalde del blog www.elbauldelprogramador.com, donde también se ha publicado este mismo post, acá, ya que él implementó la conexión de android con SQLSERVER 2008. En vista de que en internet casi no hay información de que alguien lo ha realizado, y para empeorar las cosas hay muchas afirmaciones de que no se  puede conectar android a ninguna base de datos, solamente con un webservice (y no se recomienda otra  forma que no sea esta). Yo encontré nada más el post de Alejandro Alcalde, a partir de ahí pude realizar la  conexión y me di a la tarea de implementarlo para oracle y mysql también y compartirlo con quien lo necesite.
(En este post tratamos el caso de oracle).

Escenario:
* Base de datos Oracle 10g.
* Android API 2.2.
* Eclipse Helios Service Release 2.

NOTA: Antes de lograr que funcionara tuve problemitas con encontrar la clase jdbc adecuada para conectarme. Probé las siguientes sin éxito: ojdbc5.jar y ojdbc6.jar. En el caso de la ojdbc5.jar yo la utilizo en una aplicación que hice anteriormente, conectándome a la misma base de datos, pero no me funciona con android en este caso.

Así que en el tercer intento con ojdbc14.jar acerté.

A continuación les detallo puntualmente la implementación de la clase:


1. Agregar al buildpath la librería ojdbc14.jar. La cual pueden bajar del siguiente enlace:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html


2.  Clase de conexión:

***El esquema SCOTT viene con datos de prueba, cuando instalé mi base de datos.

7 comentarios:

  1. interesante articulo pero querrias explicarme por favor que es lo que da a entender esta linea

    jdbc:oracle:thin:SCOTT/PASSWORD@SERVER_IP:1521:SERVICE_NAME

    estoy realizando un proyecto en el cual se debe conectar a una bd mediante datos 3gy quisiera saber como estructurar la conexion al servidor gracias

    ResponderEliminar
  2. Saludos.

    Esa línea es la cadena de conexión que utilizo para conectarme a oracle desde java o android.

    ResponderEliminar
  3. Buen articulo, una pregunta, cuando intente hacer la conexión con el emulador, me marca que no puede establecer la conexiòn con el servidor, e clasico error de oracle: "Io exception: The Network Adapter could not establish the connection", ya le di permisos de internet, y busque un código que efectivamente me comprueba que tengo salida a la red, pero no puedo conectarme con el servidor, tengo proxy habilitado y ya se lo puse al emulador, te pasó algo parecido?

    ResponderEliminar
    Respuestas
    1. Josafat, gracias, disculpa la demora. Resulta que ando bien ocupado. Yo tuve problemas con el permiso de internet en manifest, te comento además que a mi tableta android le puse un IP de mi red local para que se conecte al servidor oracle. Espero te sirva de algo y nos comentes para ver cómo lo resolvemos.

      Eliminar
  4. Que interesante tu post, me podrías decir en donde puedo descargarme una base de datos???? descargué hace poco oracleexpress y la verdad no pude instalarlo y no supe administrarla, te agradecería si me podrías colaborar con un enlace y alguna base de datos de oracle.

    ResponderEliminar
  5. Excelente! muchas gracias por compartirlo!

    ResponderEliminar
  6. Hola..Tengo problemas con donde ubicar el .jar para que sea leido en el proyecto Android.

    Donde lo debo ubicar? Saludos.

    ResponderEliminar