Spanish JRDC mas claro

Duque

Active Member
Licensed User
Longtime User
Hola CLAN B4A :cool:

Diran que pregunto mucho pero que hago con estas ganas de aprender mas...
Ya he conseguido conectar mySQL con mi aplicación b4a y funciona con php
pero me gustaría saber mas claramente como se usa este JRDC que tanto se habla aquí
https://www.b4x.com/android/forum/t...r-rdc-connect-to-any-remote-db.31540/#content
Seguí este tutorial pero no llegue a nada, hablan de un servidor? NI IDEA DE QUE SEA O COMO CREARLO O HAY QUE DESCARGARLO !.

Alguien que me explique en castellano por favor.
 

clarionero

Active Member
Licensed User
Longtime User
Hola. RDC seria el equivalente a tu código de servidor en PHP pero realizado con B4J y por lo tanto conpatible con B4A. RDC se ejecuta en el servidor despues de una llamada desde B4A, y se realizan consultas a la base de datos del servidor para despues devolverselos a B4A.

Rubén
 

Duque

Active Member
Licensed User
Longtime User
Pero esto funcionaria con una BD en un hosting ?(hasta donde he leído hablan de localhost)
como seria la configuración en este caso ?
tiene algún ejemplo para mi, GRACIAS
 

clarionero

Active Member
Licensed User
Longtime User
Hola. Solo puede funcionar en un servidor en el que puedas ejecutar java, y por lo tanto en el que tengas el control para instalar cosas, en este caso RDC. La base de datos que vayas a utilizar puede estar en esa misma maquina o en otra diferente. En funcion de eso usaras localhost o bien la IP del otro servidor.

Rubén
 

Duque

Active Member
Licensed User
Longtime User
Yo tengo la BD en un servidor de paga, es decir que no tengo control de instalar RDC en el, por lo tanto esto no me servirá, No me queda claro aun...

gracias por su tiempo Rubén.
 

dar2o3

Active Member
Licensed User
Longtime User
Buenos días, no hace falta que el servidor ejecute java, lo que si que necesitas es abrir el puerto que usa el servidor de bd (en mysql por defecto es el 3306.)
Que tu ISP tenga ese puerto abierto o te permita hacerlo es algo muy poco común por temas de seguridad.
Ya se ha hablado largo y tendido en este foro sobre la nula seguridad que ofrece este tipo de conexiones directas a la bd.
 

clarionero

Active Member
Licensed User
Longtime User
Buenos días, no hace falta que el servidor ejecute java, lo que si que necesitas es abrir el puerto que usa el servidor de bd (en mysql por defecto es el 3306.)
Que tu ISP tenga ese puerto abierto o te permita hacerlo es algo muy poco común por temas de seguridad.
Ya se ha hablado largo y tendido en este foro sobre la nula seguridad que ofrece este tipo de conexiones directas a la bd.

Hola dar2o3. La consulta es sobre RDC. RDC esta hecho en Java, por lo que precisas un servidor en el que poder ejecutar Java. Otra cosa muy distinta,que parece que es lo que tu indicas es acceder desde B4A a la base de datos directamente, con los riesgos de seguridad que ello conlleva.

Con RDC por el contrario no debes guardar en la aplicación la información de acceso a la base de datos, ya que el hace de puente entre ambos.

Un saludo

Rubén
 

rscheel

Well-Known Member
Licensed User
Longtime User
Creo que la conexión mas segura por el momento es REST, hasta en Android Studio lo mas popular y recomendado es REST.
 

Duque

Active Member
Licensed User
Longtime User
Creo que me he perdido aun mas :confused:, mi aplicación funciona con un archivo php donde tengo las sentencias SQL, pero se me hace difícil sincronizar sqlite --> mySQL(HttpJob), POR ESO LLEGUE A ESTE COMPLICADO TEMA PARA MI (RDC o_O,REST o_O), ya que soy realmente nuevo con B4a.
 

rscheel

Well-Known Member
Licensed User
Longtime User
Es bastante fácil sincronizar SQLite con MySQL, haber si un día de estos subo un ejemplo.
 

clarionero

Active Member
Licensed User
Longtime User
Creo que la conexión mas segura por el momento es REST, hasta en Android Studio lo mas popular y recomendado es REST.

REST? ¿Y como se crea un servicio REST sin un componente servidor? Precisamente RDC lo que facilta es un acceso a un servidor remoto para que alli se hagan las consultas a las bases de datos y devuelva los resultados. Si quieres usar REST debes generar en el servidor un Webservice que acepte llamadas REST y luego llamarlo desde B4A por HTTP.

Rubén
 

clarionero

Active Member
Licensed User
Longtime User
Creo que me he perdido aun mas :confused:, mi aplicación funciona con un archivo php donde tengo las sentencias SQL, pero se me hace difícil sincronizar sqlite --> mySQL(HttpJob), POR ESO LLEGUE A ESTE COMPLICADO TEMA PARA MI (RDC o_O,REST o_O), ya que soy realmente nuevo con B4a.

Hola SoyVB6, si tienes ya un PHP funcionando que te hace ya las consultas a las bases de datos y es lo que conoces bien no precisas usar RDC. RDC es para los que conocen bien B4X y quieran hacerlo todo con estas herramientas. Si además el servidor que usas no permite instalar otras cosas como Java entonces debes seguir con tu opción.

Rubén
 

rscheel

Well-Known Member
Licensed User
Longtime User
Hola SoyVB6, si tienes ya un PHP funcionando que te hace ya las consultas a las bases de datos y es lo que conoces bien no precisas usar RDC. RDC es para los que conocen bien B4X y quieran hacerlo todo con estas herramientas. Si además el servidor que usas no permite instalar otras cosas como Java entonces debes seguir con tu opción.

Rubén

Creo que si conoces todas las respuestas, veo innecesaria tu pregunta formulada acá.

Saludos.
 

Duque

Active Member
Licensed User
Longtime User
De hecho yo he conseguido bajar 10.000 registros(mapeo la respuesta y la recorro con for y voy insertando en sqlite) de mysql.
mi problema es enviar esos 10.000 registros de sqlite a mysql, es por eso que formule la pregunta del RDC pensé en mi ignorancia que era mas fácil, ya que con mi método no lo he conseguido

esperar las repuestas del
JobDone(Job As HttpJob),
es muy lento en responder y algunas insert las hace otras no

veré que método artesanal se me ocurre dejare de lado el RDC, gracias por sus respuestas
mateo de colombia.
 
Top