Leer datos xojo cloud desde desktop app

hola a todos… necesito leer mis datos de una base de datos xojo cloud desde una aplicacion desktop. utilizo base de datos postgresql. alguien me podr dar un cdigo de ejemplo o explicar como se hace? gracias desde ya saludos a todos

Hola Nicols,

Tienes que habilitar la conexin SSH en tu panel de control Xojo Cloud, de esta forma obtendrs las credenciales de acceso.

Una vez que las tengas, ya podras conectar a la base de datos PostgreSQL desde la lnea de comandos de tu ordenador mediante la siguiente instruccin:

ssh -L 5432:localhost:5432 dbadmin@ipaddress -N

Dado que lo que deseas es utilizar la conexin en tu app Desktop de Xojo, entonces tendrs que ejecutar dicho comando a travs de una instancia de la clase Shell. De este modo se crear un tnel a travs del puerto 5432 utilizado por PostgreSQL para la comunicacin.

Con el tnel creado, ya podrs utilizar la clase PostgreSQL tal y como haras en el resto de los supuestos en los que la base de datos PostgreSQL estuviese alojada en cualquier otra ubicacin distinta a un Xojo Cloud. Por ejemplo, para conectar puedes utilizar el siguiente cdigo de ejemplo que puedes encontrare en la documentacin:

Dim db As New PostgreSQLDatabase db.Host = "192.168.1.172" db.Port = 5432 db.DatabaseName = "BaseballLeague" db.UserName = "broberts" db.Password = "streborb" If db.Connect Then // Use the database Else // There was a database connection error MsgBox(db.ErrorMessage) End If?

Obviamente debers de cambiar la IP, nombre de la base de datos y credenciales de acceso por los tuyos.

Javier Rodrguez
Evangelista Xojo en Espaol
Autor del libro “Programacin multiplataforma Xojo
Autor del plug-in GuancheMOS para Xojo

javier menendez muchisimas gracias por la respuesta tan clara y apropiada

@Javier Menéndez gracias por la respuesta, pero no logro que funcione. quizas hay algo que me está faltando. lo que hice fue instalar el programa “openssh for windows”. desde el simbolo del sistema el comando ssh -L 5432:localhost:5432 dbadmin@ipaddress -N funciona perfecto. cuando pide la clave simplemente la ingreso y funciona. sin embargo, desde xojo desktop no se cómo ingresar la clave para ssh. quizas alguien pueda subir un proyecto de ejemplo que funcione correctamente?

uso windows 10 64 bits con xojo 2015 r3.1

Hola Nicols,

  1. Desde la aplicacin Windows, has de crear una propiedad que contenga una instancia de un objeto Shell, y que permanezca SIEMPRE en el mbito mientras que utilices la conexin! Si sale del mbitose destruye el objeto, se destruye el tnel y ya no puedes acceder a la BBDD remota.

  2. Crea el Shell en modo interactivo (2).

  3. Para introducir la contrasea SSH desde el Shell necesitars incluir algo de cdigo adicional en el evento “DataAvailable”; comprobando por ejemplo la cadena que solicita la contrasea para enviar el password o bien comprobar que no se estn recibiendo ms datos (buen sntoma de que se est esperando a “algo”). Por ejemplo, este es un fragmento de cdigo que he encontrado en otro hilo del foro:

dim s as string s = me.ReadAll if left(s,8) = "Password" then me.Write("put_here_the_password") me.Write(Chr(13)) end if

Confo que esto solucione tu problema de conexin remota.

Javier Rodrguez
Evangelista Xojo en Espaol
Autor del libro “Programacin Multiplataforma Xojo
Autor del plugin GuancheMOS para Xojo

Javier

Buenos dias, yo tengo LibXL y necesito conectarme a MySQL via un Túnel SSH. Probe el plugin de Monkeybread y si tengo conneccion pero cuando hago el built en Xojo me pide Licencia. Según tengo entendido que si tengo un producto de Monkeybread no debería pagar licencia por un plug-in. Abria otra forma de conectarse por ssh tunnel.

Saludos
Abimael Lopez Cotto

Hola Abimael,

No me queda muy claro si te pide licencia Xojo o si te pide licencia el plug-in. Si es Xojo, entonces deberas de comprobar que has introducido correctamente tu licencia en el IDE, de modo que te deje crear productos compilados. En el caso de que no tengas una licencia para Xojo puedes adquirir la que necesites desde www.xojo.com/store

Si necesitas licencia para cualquiera de los plug-in de terceros, mi recomendacin es que te pongas en contacto con estos para ver como puedes adquirirla y utilizarla posteriormente en los desarrollos creados con Xojo.

Saludos,

Javier

Muchas Gracias Javier si tengo licencia de Xojo Pro instalada. Me voy a colocar en contacto con Monkeybread Gracias de nuevo saludos.