Page 1 of 1

Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 12:20 am
by Armando Picon
Recientemente he instalado en mi equipo un Oracle 10 y mysql para probar como almacenar y extraer datos de estas dos BDs. El caso es que no entiendo:

1. ¿Como establecer la conexión a cada una de ellas?
2. Lograda la conexión ¿que tipo de datos se obtienen de la consulta para utilizarlos en un formulario, por ejemplo de mantenimiento de datos con GETs? (¿es un arreglo o variables con el nombre del campo?)
3. Igualmente, lograda la conexión, ¿como se puede almacenar el conjunto de datos para ser trabajados en un Browse?

Disculpen las preguntas, pero tengo la firme intención de utilizar FWH, tanto Oracle y Mysql en Windows y en Linux Ubuntu

Gracias adelantadas por sus comentarios.

Armando

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 1:00 am
by pablovidal
Hola Armando,

Para utilizar Mysql usa tDolphin buscala por aki

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 2:26 am
by Enrrique Vertiz
Armando
Tambien hay una opcion de pago que te permite conectarte a ambas bases de datos "SQLRDD", la vende la gente de xharbour.com y tiene una version independiente que funciona con FWH y xHb.org
Tienes demos y todo en su web

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 2:58 am
by Armando Picon
Pablo y Enrique

En el caso de Dolphin no recuerdo que actúe en Linux ---seguro que Daniel García-Gil me lo aclarará--- y el caso de SQLRDD sabes si opera en linux?

En cualquiera de los casos necesito las cadenas de conexion y las aclaraciones para el tratamiento de datos de estas dos bases. Les agradezco las noticias.

Armando

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 9:58 am
by Daniel Garcia-Gil
Armando

Dolphin funciona en en Windows, linux y OSX ( mac ) en 32 y 64 bits probado con los compiladores de borland, msvc y minigw

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 1:32 pm
by Enrrique Vertiz
Armando, a nivel de programacion, el entorno que Yo uso unicamente es Windows, no he probado FiveWin para Linux ni para Mac.
Ahora otra cosa muy diferente es instalar la BD en Linux, eso no es un problema y no tiene nada que ver con la programacion, tu puedes instalar MySQL y Oracle (Yo solo he probado con MySQL) en un servidor Linux y atarcarlo desde PCs con Windows, que es como Yo he probado SQLRDD.
Ejemplos de conexion, como te indico en la version demo de la web del productor.

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 1:47 pm
by horacio
Yo actualmente utilizo un servidor Linux Ubuntu y el programa corre en máquinas windows. Para conectarme con el servidor utilizo ado. Creo que este es el mejor combo si tus clientes utilizan windows.

Salu2

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 18, 2011 6:29 pm
by Armando Picon
Horacio, Enrique

Por ahora tanto mysql como Oracle se encuentran en mi equipo con Linux Ubuntu 10.04 LTS. No tengo servidor. Normalmente, lo que utilizo son los clásicos dbf.

Recientemente, un conocido mio, me ha pedido explore las conveniencias de elaborar módulos de consulta desde FWH (o "cualquier GUI") que "funcione enteramente en linux" con la finalidad de no "estar pagando por cada vez que cambian las versiones".

Por el momento; un proveedor le proporciona todo el servicio de procesamiento y esta amenazando con "irse" cuando le requieren reportes que son necesarios para el negocio. Asi que, esta previniendo una probable " huida" que lo dejen sin nada. Hay mucha tirantez por parte del proveedor y no puedo acceder a las instalaciones del proveedor de sistemas.

En general, se desea que todo funcione en Linux. Por eso deseo saber como se conecta desde (x)Harbour a estas BD y como se reciben los datos (variables y arreglos) para mostrarse en los formularios.

Saludos;

Armando

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Tue Apr 19, 2011 8:35 am
by thefull
Buenas.
Hay varias maneras de enfocarlo, pero lo más básico para no extenderme sería empezar por lo primero.

1.- Conexión y Obtención de datos a MySql ( El de oracle lo omitimos, pero creo que en las contrib de Harbour existe una conexion a esta BD )
+ A traves de TDolphin, o similar.
A diferencia de USE CLIENTES , lo único que tienes que hacer sería;

Code: Select all  Expand view
    s_cServer := "192.168.1.100"  // IP o dominio donde este el servidor de MySql
     s_cUser    := "dolphin"
     s_cPass    := "estoesUnPassdord"
     s_cDBName := "VENTAS"        

    TRY
      CONNECT oServer HOST s_cServer ;
                      USER s_cUser ;
                      PASSWORD s_cPass ;
                      DATABASE s_cDBName
   CATCH oErr
         ? oErr:Description
   END
 

No vamos a entrar en mucho detalle, pero esto es lo primero que tienes que hacer, y lo importante es la variable oServer.
Una vez obtenida la conexion a la BD podemos hacer una consulta para obterner los datos que deseas.
Eso lo realizas usando el objecto TDolphinQry, pasando la query y la conexion, oServer.

Code: Select all  Expand view
 try
    oQry := TDolphinQry():New( "SELECT * FROM CLIENTES", oServer )  // Seria mas o menos, como el USE CLIENTES ( GUARDANDO MUUUUUCHO las distancias )
  catch oError
    MsgStop( oError:Description, "Alerta" )
  end
 


Bien, ahora te preguntarás donde están tus datos, aqui los tienes;

Code: Select all  Expand view
 nFld := oQry:FCount() // Total de campos
  WHILE !oQry:Eof()
      for n := 1 to nFld
             ? oQry:FieldGet( n )
      next
      oQry:Skip()
  END WHILE
 


O puedes acceder directamente al nombre de los campos.

Code: Select all  Expand view
?  oQry:DNI
?  oQry:Nombre
?  oQry:Apellido
 


Bien, con esto creo que tendrías una forma clara de acceder a tus datos.

2.- GUI para GNU/Linux
Existen algunas GUIs libres para GNU/Linux o mejor aún , multiplataforma.
Entre ellas tienes T-GTK, http://www.t-gtk.org/,similar la programación como Fivewin, a base de comandos simples.
También tienes FiveLinux, pero no sé en que estado se encuentra actualmente, seguramente Antonio te informará mejor

3.- Integrar GUI / BD en Browse.
Ahora bien, para integrar los datos de una sentencia de MySql , podemos usar 2 caminos;
1.- Browse de Array que conoces. Simple y rápido.
2.- MVC. Más complejo pero MUCHO más potente, como ordenación automática por columnas, imagenes, etc..
Aqui tienes un ejemplo en el que estado trabajando entre T-GTk( MVC ) y Dolphin, todas ellas libres.
Image


Nota: Si quieres usar SQLRDD, ojo si no tienes acceso para cambiar la estructura de las tablas, porque para hacer la simulación del SET ORDER TO, se vale de un mecanismo que es necesario
que NINGUN otro programa pueda añadir datos a la tabla. Es una consideración a tener en cuenta.

Lo que pasa es que querer pasar de un sistema de un sitio a otro, no es tarea sencilla.

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Tue Apr 19, 2011 5:32 pm
by Armando Picon
Rafa

Mil gracias por compartir tus conocimientos. Ya tengo por donde avanzar. ¿sabes si Oracle responde a lo que describes?

Armando

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Wed Apr 20, 2011 11:46 am
by thefull
Lamentablemente , solo he atacado a Oracle a través de ADO en Windows, cosa que no tendrás para GNU/Linux.
He visto en Harbour algo en \harboursvn\contrib\sddoci\tests , pero desconozco completamente como funciona y como esta dicha tecnología.
Creo que es un intento de ODBC común para harbour, pero no estoy seguro.

Saludos

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Wed Apr 20, 2011 4:18 pm
by Armando Picon
Gracias Rafa

Seguiré buscando como lograr esta conexion (o que alguien ya lo hecho y comparta su conocimiento)

Un abrazo

Armando

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 25, 2011 3:56 am
by Raymundo Islas M.
Armando,

En mi caso, que me acostumbre a usar arrays en los browses ya que genere el recordset me basta hacer un : aDatos := oRS:GetRows()
Y listo, al instante me crea el array con los datos del query !!!

En el blog del buen amigo Armando Estrada : http://sqlcmd.blogspot.com/ encontraras mucha informacion importante que te puede servir.

Saludos

Re: Trabajando con Oracle 10 y mysql en Windows y Linux Ubuntu

PostPosted: Mon Apr 25, 2011 6:36 pm
by Armando Picon
Raymundo

Gracias por el alcance. Voy a establecer contacto con el blog de mi tocayo.

Saludos

Armando