Nueva versión de HDO

Nueva versión de HDO

Postby xmanuel » Mon Nov 08, 2021 5:12 pm

Ya esta la versión de HDO para MySQL/MariaDb estándar y nativo, SQLite/SQLCipher, ODBC y SQLServer estándar y nativo
Para plataformas de 32 y 64 bits (Windows incluyendo el 11, Linux varios sabores, iOS)
Además con pruebas en el Mod_Harbour.
Los compiladores de C usados son
Ms VisualC, MinGW, Bcc y CLan (todos ellos de 32 y 64 bits)
Para Linux solo disponible GCC y CLang de 64 bits
Y para iOS solo MinGW 64 bits

Especialmente para el Mod_Harbour hay creados varios metodos de recuperación de datos, mirad este ejemplo:

Code: Select all  Expand view

//------------------------------------------------------------------------------
#include "hdo.ch"
//------------------------------------------------------------------------------
// Aqui esta definida el RDL y los parametro de conexion del ejemplo:
#include "ejforall.ch"
//------------------------------------------------------------------------------

procedure main

    local oCon, oRS, oDS, oStmt
    local cQry := "SELECT * FROM test WHERE first like 'Homer%'"

    oCon := THDO():new( _DBMS )
   
    // A nivel de base de datos
    oCon:setAttribute( HDO_ATTR_STR_TRIM, .t. ) // Quita espacios

    oCon:connect( _DB, _CONN )

    oDS := TMemList():new( oCon:queryDirect( cQry, FETCH_ARRAY ) )
    simpleBrowse( oDS, "Usando: MemList queryDirect" )
    oDS:free()

    oDS := THashList():new( oCon:queryDirect( cQry, FETCH_HASH ) )
    simpleBrowse( oDS, "Usando: HashList queryDirect" )
    oDS:free()

    oDS := TMemList():new( oCon:execQuery( cQry, FETCH_ARRAY ) )
    simpleBrowse( oDS, "Usando: MemList execQuery" )
    oDS:free()

    oDS := THashList():new( oCon:execQuery( cQry, FETCH_HASH ) )
    simpleBrowse( oDS, "Usando: HashList execQuery" )
    oDS:free()

    oStmt := oCon:query( cQry )

    oDS := TMemList():new( oStmt:fetchAllArray() )
    simpleBrowse( oDS, "Usando: MemList", oStmt:listColNames() )
    oDS:free()

    oDS := THashList():new( oStmt:fetchAllHash() )
    simpleBrowse( oDS, "Usando: HashList" )
    oDS:free()

    oStmt:free()

    oRS := oCon:rowSet( cQry )
    oRS:setAttribute( STMT_ATTR_STR_PAD, .t. ) // Rellena espacios
    oRS:load()
    simpleBrowse( oRS, "Usando: RowSet" )
    oRS:free()

    oCon:free()

return

//------------------------------------------------------------------------------
 


Salu2
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 760
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: Nueva versión de HDO

Postby horacio » Tue Nov 09, 2021 1:43 pm

Hola Manuel, puedo conectarme a Mysql mediante ssh?

Saludos
horacio
 
Posts: 1363
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Nueva versión de HDO

Postby xmanuel » Sat Nov 13, 2021 10:16 pm

Si puede Harbour y MySQL... HDO también.
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
 
Posts: 760
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla

Re: Nueva versión de HDO

Postby Baxajaun » Sun Nov 14, 2021 12:03 pm

horacio wrote:Hola Manuel, puedo conectarme a Mysql mediante ssh?

Saludos


Hola Horacio,

quizás los siguientes enlaces te sirvan:

https://dev.mysql.com/doc/refman/8.0/en/windows-and-ssh.html

https://juncotic.com/mysql-tunelizando-la-conexion-medio-ssh/

https://linuxize.com/post/mysql-ssh-tunnel/

Aquí usando drivers ODBC con posibilidad de túneles ssh:

https://www.devart.com/odbc/mysql/docs/ssh.htm

https://www.cdata.com/kb/articles/mysql-ssh-tunnel.rst

Muchas gracias.

Saludos,
User avatar
Baxajaun
 
Posts: 968
Joined: Wed Oct 19, 2005 2:17 pm
Location: Gatika. Bizkaia

Re: Nueva versión de HDO

Postby Baxajaun » Sun Nov 14, 2021 12:43 pm

Hola Horacio,

también podrías instalar stunnel dónde tengas tu programa de acceso a MySQL, configuras stunnel para que se conecte a MySQL y esté montará un túnel con el servidor MySQL.

Sólo tendrás que acceder a MySQl desde la dirección de localhost (127.0.0.1) y el puerto que hayas asignado a la conexión con MySQL.

Ejemplo de stunnel.conf

Code: Select all  Expand view
# Use it for client mode
client = yes

# Service-level configuration

[mysql]
accept  = 3306 # Podrías configurar otro puerto de escucha en el Servidor
connect = IP remota de tu servidor MySQL:3307 # 3307 es el puerto que le hemos asignado a stunnel para conectar con MySQL


Es lo único que tendrás que cambiar en tu código para poder acceder a las BB.DD. MySQL.

Muchas gracias.

Saludos,
User avatar
Baxajaun
 
Posts: 968
Joined: Wed Oct 19, 2005 2:17 pm
Location: Gatika. Bizkaia

Re: Nueva versión de HDO

Postby jair » Tue Mar 01, 2022 11:38 am

¡Buenos días Manuel! Me gustaría saber cómo usar hdo para la conexión incrustada.
jair
 
Posts: 54
Joined: Sun Aug 27, 2017 7:18 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 30 guests