Spanish [Solucionado] Como acceder a Ms SQL Server desde B4I

SweetCacao

Member
Licensed User
Buenos días.

Tengo un proyecto en B4A que me hice para mi teléfono Android, que conecta a un servidor de MS SQL Server a través de JRDC2, para obtener las ventas en tiempo real de un negocio de restauración.
Lógicamente, cuando mi jefe lo ha visto, me ha dicho que se lo ponga es su teléfono. El problema es que mi jefe usa Iphone.
¿Puedo conectarme con el mismo sistema (JRDC2) en un proyecto B4I? ¿Cómo lo hago? Si no se puede, ¿Hay alguna otra manera de hacerlo en proyectos B4I?

Gracias de antemano y un cordial saludo.
 

josejad

Expert
Licensed User
Longtime User
Hola:

Sí, el código para acceder a jRDC2 es el mismo. Si has hecho tu proyecto de B4A con B4XPages ya casi debería funcionarte.

Del tutorial de jRDC2:
- Client module. The client which is compatible with B4A, B4J and B4i is responsible for sending the requests and handling the responses.

saludos,
 

SweetCacao

Member
Licensed User
Muchas Gracias.

Por desgracia no hice la aplicación con B4XPages, de echo estoy intentando rehacerla en B4XPages para poder ir modificándola más fácilmente para las dos plataformas y me estoy encontrando problemas en la conexión con el servidor en B4A, usando el mismo código que uso en mi proyecto B4A sin B4XPages, no se todavía porqué.
Si no consigo hacerla funcionar, tendré que pediros otra vez ayuda.
Miraré bien el tutorial de jRDC2, porque ya hace tiempo que hice esta aplicación.

Gracias por tú ayuda.
 

josejad

Expert
Licensed User
Longtime User
Echa un vistazo a este hilo, quizás te aclare alguna cosilla, yo también tuve problemas para que funcionara en más de una plataforma, pero no tengo B4i así que ahí no lo probé, pero te puede servir quizás como referencia.


Si no consigo hacerla funcionar, tendré que pediros otra vez ayuda

Aquí estaremos
 

SweetCacao

Member
Licensed User
Muchas gracias y un saludo.
 

SweetCacao

Member
Licensed User
Buena tardes, @José J. Aguilar , ya estoy otra vez por aquí.

Me ocurre una cosa muy rara.
Del proyecto en B4J que ya te comenté.
Ejecuto el proyecto jRDC desde el B4J, ya sea en modo debug o en modo release y desme mi programa en B4X me conecta perfectamente y me realiza todas las consultas de datos. Sin embargo ejecuto el jRDC.jar y entonces mi programa B4X me da un error de conexión.
Adjunto captura de pantalla para que lo veas:


Me estoy volviendo loco y no consigo saber porqué no funciona cuando ejecuto el archivo jar compilado y sí funciona cuando lo ejecuto desde el B4J ya sea en debug o en release.

A ver si puede servir de pista esto, en el administrador de tareas, cuando ejecuto el proyecto desde B4J en modo release, aparece este proceso, que continua activo incluso cuando cierro del B4J y así funciona perfectamente:



Sin embargo, cuando ejecuto el jar, aparece este otro proceso y es entonces cuando me da el error:



Perdona mi ignorancia, soy un poco novato.

Gracias y un saludo.
 

Attachments

  • 1674069274165.png
    211.4 KB · Views: 168
Last edited:

EnriqueGonzalez

Expert
Licensed User
Longtime User
Corre el jar desde la consola (CMD) si hay un error antes de hacer las llamadas o durante las llamadas ahi te deberia aparecer la causa real, la imagen que mandas es solo la version resumida que manda JRDC
 

SweetCacao

Member
Licensed User
Corre el jar desde la consola (CMD) si hay un error antes de hacer las llamadas o durante las llamadas ahi te deberia aparecer la causa real, la imagen que mandas es solo la version resumida que manda JRDC
Ok, lo probaré hoy.

Muchas gracias y ya os comento.
 

SweetCacao

Member
Licensed User
Buenas tardes.

Nada, no hay manera de hacer funcionar el proyecto con las OpenJDK 11, estoy intentando compilarlo con las Oracle JDK 8 a ver si así funciona, pero me da el siguiente error al compilar:



¿Me podéis echar una mano, por favor?

Gracias y un saludo.
 

EnriqueGonzalez

Expert
Licensed User
Longtime User

SweetCacao

Member
Licensed User
Ibas a revisar que error salia en la consola CMD, que error te salio?


la ultima version de JServer no es compatible con JDK 8, debes usar la 11
Buenas tardes.

A ver, ya te digo que soy novato.
Cuando te refieres a CMD te refieres a la línea de comando de Windows. No me sale nada. Ejecuto el jar, se carga y no sale nada, tal cual imagen, pero no funciona, no carga los datos desde mi aplicación B4A:



Además, antes de todo esto, tuve que instalar "jdk-19_windows-x64_bin.exe", porque al ejecutar el jar daba un error. Leí por el foro que había que instalar este archivo.
Lo más curioso de todo es que la aplicación jRDC, desde B4J ya sea en modo debug o en modo release, funciona perfectamente. Solo es cuando ejecuto el jar cuando no funciona. Esta es mi proyecto jRDC y como puedes ver ejecuta las peticiones de cliente perfectamente:



No entiendo nada. Hasta hace unas semanas me funcionaba todo perfectamente. Lo único que hice es actualizar tanto mis versiones de B4J como de B4A, y desde entonces tengo este problema.

Gracias y un saludo @EnriqueGonzalez.
 

SweetCacao

Member
Licensed User
A ver, por la pruebas que he podido hacer, he ejecutado dos versiones más antiguas tanto del jar en el ordenador, como de la apk de BX4 en el teléfono y tampoco funciona, cuando estas versiones estaban funcionando perfectamente, tiene que ser alguna configuración del ordenador que tengo mal.
 

EnriqueGonzalez

Expert
Licensed User
Longtime User
los jar no se corren solo ejecutando el jar
debes correrlos de esta forma:

java -jar jrdc.jar

que version de java tienes instalado en tu computadora?
java -version

si tienes una diferente a 11, entonces escribe
c:/directorio/donde/tienes/tu/jdk11/java -jar jrdc.jar
 

SweetCacao

Member
Licensed User
Perdona mi ignorancia.

Tengo esta versión instalada:

 

SweetCacao

Member
Licensed User
Ya está solucionado. Al ejecutarlo como tú me has dicho funciona perfectamente. Siempre me ha funcionado ejecutando directamente desde el explorador de windows el jar directamente. Pero claro, la versión de java instalada en el ordenador era la misma que se usaba en el B4J, en este caso la versión que tengo al ser la 19, que es distinta a la 11 que uso en el BJ4, no me funcionaba de la manera qu lo hacía siempre.

Muchas gracias @EnriqueGonzalez, gracias a tí he comprendido porqué no me funcionaba.

Un saludo.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…