Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

csincuir
Posts: 420
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Has thanked: 3 times
Been thanked: 4 times
Contact:

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by csincuir »

Hola Manu,
Al igual que Lubin, yo he utilizado Eagle1 con MySQL desde sus primeras versiones y algunas veces Condor1 para trabajar con MSSql.
Por todo lo desarrollado con Eagle1 no hice la migración a HDO, y ahora con HDBC, aun no hay soporte para MySQL, que es lo que uso casi en un 100% en mis desarrollos.

Entonces, como pregunta de Lubin en su primer punto "Que tan difícil seria una migración de Eagle1 a esta versión HDBC..."?

Saludos cordiales.

Carlos
ramirezosvaldo2
Posts: 61
Joined: Mon Jan 19, 2009 4:40 pm

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by ramirezosvaldo2 »

Me uno

Yo tambien soy seguidor de Manu,

https://forum.modharbour.app/viewtopic.php?f=23&t=140

Y que bueno que volvio, esperemos que podamos retomar lo pendiente del curso.

Saludos
Osvaldo Ramirez
xmanuel
Posts: 777
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by xmanuel »

¡Hola a todos!

Muchísimas gracias por sus amables palabras, ¡me reconfortan enormemente!

Para poner en contexto, Eagle1 es una librería que contiene una serie de clases especializadas en el acceso a MySQL, desarrollada en PRG utilizando wrappers en C.

HDO representa un avance significativo con respecto a Eagle1. Está desarrollada íntegramente en C estándar, incorporando un sistema de herencia propio basado en estructuras C. Además, incluye clases de utilidad adicionales implementadas en PRG que heredan de HDO. A diferencia de una librería especializada en una única base de datos, HDO permite trabajar con diversas bases de datos utilizando el mismo código fuente. Pero... ¿qué es HDBC?

HDBC es mi nueva creación, que consolida todos los años de estudio y la experiencia adquirida en el desarrollo de mis clases anteriores.

A continuación, enumero sus principales características:

Está desarrollada desde cero en C++, aplicando el paradigma de Programación Orientada a Objetos (POO).
Las clases para Harbour también están implementadas en C, utilizando su API correspondiente. Por lo tanto, se puede afirmar que está desarrollada en C/C++ al 100%.
Esta base C/C++ le confiere robustez, seguridad y velocidad.
Utiliza sentencias preparadas en el servidor, lo que implica las siguientes ventajas:
Rendimiento optimizado: La consulta SQL se analiza, compila y optimiza una única vez en el servidor de la base de datos, incluso para ejecuciones múltiples con diferentes parámetros. Esto reduce la sobrecarga de procesamiento en cada ejecución posterior, resultando en una mayor velocidad para consultas repetitivas.
Seguridad reforzada: Al separar la estructura de la consulta de los datos, las sentencias preparadas mitigan eficazmente el riesgo de ataques de inyección SQL. Los valores de los parámetros se envían al servidor de forma independiente y se tratan como datos, no como código ejecutable. Esto impide la inserción de código SQL malicioso a través de las entradas.
Tráfico de red reducido: En ejecuciones repetidas de la misma consulta, solo es necesario transmitir los parámetros, en lugar de la consulta SQL completa. Esto disminuye la cantidad de datos transferidos entre la aplicación y el servidor de la base de datos, mejorando la eficiencia de la red.
Código simplificado: El uso de marcadores de posición para los parámetros en las sentencias preparadas hace que el código sea más limpio y legible. Además, la gestión del escape y la validación de datos se delega al controlador de la base de datos, simplificando el desarrollo de la aplicación.
Reutilización de planes de ejecución: El servidor de la base de datos puede almacenar en caché los planes de ejecución de las sentencias preparadas. Esto permite que las ejecuciones posteriores de la misma sentencia sean aún más rápidas, al reutilizar el plan optimizado previamente. En resumen, las sentencias preparadas son cruciales para desarrollar aplicaciones de bases de datos seguras y de alto rendimiento, optimizando la eficiencia, la seguridad y la mantenibilidad.
Aglutina todos los años de estudio al respecto y la experiencia que he adquirido.
Su optimización es tal que podría servir como base para la creación de clases en PRG.
En consecuencia, aunque HDBC no es directamente compatible con Eagle1 o HDO, se podrían desarrollar clases para facilitar dicha compatibilidad.

Espero que sea de vuestro interés!!!

Saludos...
______________________________________________________________________________
Sevilla - Andalucía
User avatar
lubin
Posts: 455
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Been thanked: 1 time
Contact:

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by lubin »

Estimado Manu

Un saludo maestro, buena la explicación, y sin duda interesante proyecto HDBC por las características que mencionas mas tu experiencia en ello , y pienso que la implementación en las Db de Mysql seria muy atractivo para muchos de nosotros.

Trato de entender que también existe HDO también de tu autoria ? ... y tiene soporte actualizado para MySql y FW , la pregunta seria:

Si en mi caso solo voy a usar MYSQL seria suficiente tener el HDO? o es acaso que el HDBC me aportaría mayor operatividad y seguridad en MySQL ( independiente que tenga soporte para otros motores de DB ).

un abrazo
Lubin
russimicro
Posts: 289
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia
Been thanked: 1 time

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by russimicro »

Buena noche..

Uso eagle1 con xharbour... y mysql... que tan pronto se tendría versión para xharbour y mysql / mariadb

Gracias
JONSSON RUSSI
xmanuel
Posts: 777
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by xmanuel »

Hola Lubin,
¡Espero que estés muy bien! <
Quería comentarte que HDO funciona perfectamente con MySQL, pero HDBC todavía no. <
Mi intención es desarrollar un driver para HDBC, aunque esto dependerá del interés de los compañeros.
En su momento empecé con PostgreSQL debido al interés que había, pero al final creo que ese interés no fue suficiente. Por otro lado, HDBC es un intento de integrar C++ orientado a objetos con el API de Harbour, y he comprobado que es posible. Además, esta integración facilita considerablemente las cosas, mejora el rendimiento y aporta una mayor robustez a los programas desarrollados con HDBC.<

¡Quedo atento a cualquier comentario o sugerencia!
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
Posts: 777
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Been thanked: 5 times
Contact:

Re: Presentamos HDBC – La Mejor Conexión a Bases de Datos para Harbour

Post by xmanuel »

russimicro wrote: Wed Apr 09, 2025 11:56 pm Buena noche..

Uso eagle1 con xharbour... y mysql... que tan pronto se tendría versión para xharbour y mysql / mariadb

Gracias
JONSSON RUSSI
Hola Jonsson
De momento sólo funciona con Harbour... la portación también a xHarbour solo dependerá del interés!!!

Saludos
______________________________________________________________________________
Sevilla - Andalucía
Post Reply